diff -Nrcpad gcc-7.2.0/ChangeLog gcc-7.3.0/ChangeLog *** gcc-7.2.0/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/LAST_UPDATED gcc-7.3.0/LAST_UPDATED *** gcc-7.2.0/LAST_UPDATED Mon Aug 14 08:03:32 2017 --- gcc-7.3.0/LAST_UPDATED Thu Jan 25 08:17:55 2018 *************** *** 1 **** ! Obtained from SVN: tags/gcc_7_2_0_release revision 251082 --- 1 ---- ! Obtained from SVN: tags/gcc_7_3_0_release revision 257042 diff -Nrcpad gcc-7.2.0/MD5SUMS gcc-7.3.0/MD5SUMS *** gcc-7.2.0/MD5SUMS Mon Aug 14 08:39:00 2017 --- gcc-7.3.0/MD5SUMS Thu Jan 25 08:49:33 2018 *************** *** 1,5 **** # This file contains the MD5 checksums of the files in the ! # gcc-7.2.0.tar.xz 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-7.3.0.tar.xz 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 *************** e399c6eed967a5699498feb798da61ee .gitat *** 17,23 **** fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! 6b798ce6cb4e03620088eb69af9c42ce ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README --- 17,23 ---- fe60d87048567d4fe8c8a0ed2448bcc8 COPYING.RUNTIME d32239bcb673463ab874e80d47fae504 COPYING3 6a6a8e020838b23406c81b19c1d46df6 COPYING3.LIB ! 39d8e9d7c99bd16667b246685a1cf73c ChangeLog fd4ecdf5d672efe2b0e409aca9cf9446 ChangeLog.jit 09538b708302f1735f6fa05b622ecf5e ChangeLog.tree-ssa 24ab760126489e69436a43185dc3d202 INSTALL/README *************** c006991610497e0d1e2eb3ddbae3abc0 INSTAL *** 32,50 **** af9fd8189c1230a90586b250985c4b4b INSTALL/prerequisites.html 213df43fe2cf1e44974b6e79782df83a INSTALL/specific.html 46d726564091e71e397f3cb6cf879bac INSTALL/test.html ! 83254129964b09f076e58144051fa7ca LAST_UPDATED b7046438c5076ff5c22da3f713c55819 MAINTAINERS cf9f2757ce84b3623a2c25cd96e2630f Makefile.def 38d4e84f45aef7dc5e4cce9befc6252d Makefile.in 2233eb495f622e1cbca6f0e111f96048 Makefile.tpl ! 923c753f971224f3cd963f9c70d5078a NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README 500b9244caa7a7ab23ece1db37efa76d compile cb74b6c8a93f1e46388212f44c60afed config-ml.in 07fc7c2000154cc8d5bd1211bad7a65b config.guess 040359150cf11493f973a46d8a25b06b config.rpath 3e5a5bd82d324a14f895209750e785b8 config.sub ! 1913d97fd1890925df06e74214a2d867 config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 4e07b66e4e4b3c6e35ba2a752e1cd95d config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 --- 32,50 ---- af9fd8189c1230a90586b250985c4b4b INSTALL/prerequisites.html 213df43fe2cf1e44974b6e79782df83a INSTALL/specific.html 46d726564091e71e397f3cb6cf879bac INSTALL/test.html ! 462df5a60f72bc71d76c1b3b10d4ba39 LAST_UPDATED b7046438c5076ff5c22da3f713c55819 MAINTAINERS cf9f2757ce84b3623a2c25cd96e2630f Makefile.def 38d4e84f45aef7dc5e4cce9befc6252d Makefile.in 2233eb495f622e1cbca6f0e111f96048 Makefile.tpl ! 972c92d6308b2dac738cde26cd967669 NEWS 80d26bc3b1ad4f6969a96a24c9181bf5 README 500b9244caa7a7ab23ece1db37efa76d compile cb74b6c8a93f1e46388212f44c60afed config-ml.in 07fc7c2000154cc8d5bd1211bad7a65b config.guess 040359150cf11493f973a46d8a25b06b config.rpath 3e5a5bd82d324a14f895209750e785b8 config.sub ! 6bf19c8f0c03861768d542b3d36649b4 config/ChangeLog 0fcd4badfe2a2191778bdf5ab94aa40c config/acinclude.m4 4e07b66e4e4b3c6e35ba2a752e1cd95d config/acx.m4 6b030f5cf640bdd401ea739f54a667f8 config/asmcfi.m4 *************** e2dc6b4fd62b77bff96b7951ef74f78f config *** 136,142 **** 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 d6ddde030a4686d740140dc1f5ed9952 configure 278ffc6b756f6d7bbb6520b724a3a37d configure.ac ! cfe162c8d5fedcfe17b9c2e2f8d02322 contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa 41c532dfc353377dce9eb2fbaa3179fd contrib/analyze_brprob.py --- 136,142 ---- 0163b672c888aaf1c8ad3e867a0ec9f1 config/zlib.m4 d6ddde030a4686d740140dc1f5ed9952 configure 278ffc6b756f6d7bbb6520b724a3a37d configure.ac ! 0fbbc88f666b4ad7a6424521daa61fb9 contrib/ChangeLog 5fc435c7928f858246df931ea3f3ece7 contrib/ChangeLog.jit 7af8d2979bf1a7cfa88e30d05fa22be2 contrib/ChangeLog.tree-ssa 41c532dfc353377dce9eb2fbaa3179fd contrib/analyze_brprob.py *************** db03e57377f9eb202b7b783eb81fe40d contri *** 161,172 **** 2e831f673656f3052f95930c3203cce9 contrib/filter_params.pl 480dbaa133b74e68d41762d6596bd034 contrib/gcc.doxy 55236e85d8087042189b701cd05d84be contrib/gcc_build ! be8553122365f33091cb9b32dfa232c6 contrib/gcc_update 8db75b60045749d54e598598d8883638 contrib/gen_autofdo_event.py 8d5fd6a30a05940f4fb9383e2ea15a97 contrib/gennews 2d35f147fc45f270eb169156cf7550e0 contrib/gimple.vim 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! 0aa82ae3adb3ffdafe83795e81ec8cb2 contrib/header-tools/ChangeLog 1ba821a1e480c2f8ac33b68ca1097770 contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers --- 161,172 ---- 2e831f673656f3052f95930c3203cce9 contrib/filter_params.pl 480dbaa133b74e68d41762d6596bd034 contrib/gcc.doxy 55236e85d8087042189b701cd05d84be contrib/gcc_build ! 958f0f7983eacfca31ec1636c6b0f416 contrib/gcc_update 8db75b60045749d54e598598d8883638 contrib/gen_autofdo_event.py 8d5fd6a30a05940f4fb9383e2ea15a97 contrib/gennews 2d35f147fc45f270eb169156cf7550e0 contrib/gimple.vim 59304fc08afa489baa6b920cc76dc625 contrib/gthr_supp_vxw_5x.c ! e62be1387abc131961dc94e9bcd0cd9f contrib/header-tools/ChangeLog 1ba821a1e480c2f8ac33b68ca1097770 contrib/header-tools/README 05ef7fb87e90ba93ee04659be072a357 contrib/header-tools/count-headers ba0485a3c721bce9e32407ef996d2a9d contrib/header-tools/gcc-order-headers *************** a34668cfad9dec733354503fbc67fb24 contri *** 188,194 **** 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh 959cb8ef692d41f5b4e0bb200810e0c6 contrib/prerequisites.md5 422c59c5fe9228a3dec0f7c819d63fc1 contrib/prerequisites.sha512 ! eb963e12bd8ef679855b7932eeff7fa7 contrib/reghunt/ChangeLog cf247a580e49d212518de409793db0a8 contrib/reghunt/bin/gcc-build-full 724e70ea3e80f87f2a201bbe2f1eef37 contrib/reghunt/bin/gcc-build-simple 3f2318bae7562a4ad1639e686916a545 contrib/reghunt/bin/gcc-cleanup --- 188,194 ---- 87a19b40fbd220938cf6c23c42c255e2 contrib/prepare_patch.sh 959cb8ef692d41f5b4e0bb200810e0c6 contrib/prerequisites.md5 422c59c5fe9228a3dec0f7c819d63fc1 contrib/prerequisites.sha512 ! 6dc4332e8cfbafbf1a3f974db35c27bc 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 *** 247,253 **** e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 0e4a1374777061bb7de216f7a5b83d69 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 --- 247,253 ---- e2829fc4af4f433a6a328a62d5ce8066 contrib/reghunt/examples/reg-watch afd863c2ec84c906e20f9b9787b1f0fe contrib/reghunt/examples/reg-watch.awk 8955535523d4b5f48006bcb851ba9b4b contrib/reghunt/examples/testall ! 96db372721f47dc0f79a329894664886 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 *************** db934a41ee73c66dbdde7290d85e547d contri *** 272,278 **** 45d4839f2ac702761b88d502311d47ef contrib/vimrc 52ed3669ef691d1606b2d8849f05cc6e contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! 7375a136f367bdabaad2c6339c4905f2 fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc --- 272,278 ---- 45d4839f2ac702761b88d502311d47ef contrib/vimrc 52ed3669ef691d1606b2d8849f05cc6e contrib/warn_summary 8b59f0d0a2dcdced14765c514fbad719 depcomp ! 5bdfb0fdb873c68aeea26c094463ce00 fixincludes/ChangeLog 6de190723745dc3f75080144dfa2215e fixincludes/Makefile.in b6e3f4950abc6e254b467063381f6473 fixincludes/README 455903ad4ff71fa5c5340ef7ae41a0e6 fixincludes/README-fixinc *************** a5e817d35ded04a0fb03999b50c0e89e fixinc *** 409,420 **** 955462b555900ecd3934223c64e21fa7 fixincludes/tests/base/types/vxTypesBase.h c78e762f2c91f2af991feda7d3d7f4b2 fixincludes/tests/base/unistd.h fe8b9c2159f95655fcb76d514f36eaf1 gcc/ABOUT-GCC-NLS ! bb21c11e7b548837faf2ee9c90f0286d gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! 999c5a56e8c0234e68cccfacb62453de gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 --- 409,420 ---- 955462b555900ecd3934223c64e21fa7 fixincludes/tests/base/types/vxTypesBase.h c78e762f2c91f2af991feda7d3d7f4b2 fixincludes/tests/base/unistd.h fe8b9c2159f95655fcb76d514f36eaf1 gcc/ABOUT-GCC-NLS ! e1c4c580d0872637d2f7907b6395953e gcc/BASE-VER 59530bdf33659b29e73d4adb9f9f6552 gcc/COPYING a916467b91076e631dd8edb7424769c7 gcc/COPYING.LIB d32239bcb673463ab874e80d47fae504 gcc/COPYING3 6a6a8e020838b23406c81b19c1d46df6 gcc/COPYING3.LIB ! b85fa887c5bd7b99d7def78e968007d3 gcc/ChangeLog a3b63c675afa7a655cc2bfa8a907af79 gcc/ChangeLog-1997 d9a88529352a010253c2e8fb1ed6023b gcc/ChangeLog-1998 240f08f81cb4699e8b49347db38233db gcc/ChangeLog-1999 *************** fb3fadb88e1d2b3b640cfaaa5ff11780 gcc/Ch *** 443,449 **** 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! ea38231a57f8c814a51479b6404c5427 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 --- 443,449 ---- 3eb07e0b2e542409bf73d359f7f65609 gcc/ChangeLog.ptr e13638e26743ba41e6011b76cc00d9a9 gcc/ChangeLog.tree-ssa 739ab47f6425bcea1d05e4fc0542de54 gcc/ChangeLog.tuples ! 37e1081e5d2b3e273dd2dfe3cdb46d47 gcc/DATESTAMP d41d8cd98f00b204e9800998ecf8427e gcc/DEV-PHASE eb92e1ff5e982ca07e173e0eb286d243 gcc/FSFChangeLog 30e1e33411566388b3164558482dc5e6 gcc/FSFChangeLog.10 *************** e582560d0bf728d88aed7e8d4a281453 gcc/RE *** 455,461 **** 3aab1d8a09402a2cfff7275fdfb6a31e gcc/acinclude.m4 9545fe83576dc99e441c64e268711730 gcc/aclocal.m4 9063d23e571fcde20283b9f34d5e3422 gcc/ada/9drpc.adb ! 28abfbfad7a1ef31324f4b9236858fa6 gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 --- 455,461 ---- 3aab1d8a09402a2cfff7275fdfb6a31e gcc/acinclude.m4 9545fe83576dc99e441c64e268711730 gcc/aclocal.m4 9063d23e571fcde20283b9f34d5e3422 gcc/ada/9drpc.adb ! 968f2f977651b4d056b7cb62dc72b41f gcc/ada/ChangeLog 683be0b07dc4f64f118fd5e8ae9cb30d gcc/ada/ChangeLog-2001 7aff25efb203be4136b8776cdc812956 gcc/ada/ChangeLog-2002 cd2379152000f40157d349018fb9364d gcc/ada/ChangeLog-2003 *************** d7eca93022b3adc8f4a61dbe910e95d2 gcc/ad *** 1466,1486 **** b45654446bc74bb68ae4adef78906e9b gcc/ada/g-zspche.ads c97edf7ce39a908dcaec55eb49d0abee gcc/ada/g-zstspl.ads 03f505d0c5a108b347698645d923a2bb gcc/ada/gcc-interface/Make-lang.in ! 8a1bb9ff9adec5dfae1ee99f4168e0f0 gcc/ada/gcc-interface/Makefile.in 055be3d11fa6ccb53ffe7f8970a005ce gcc/ada/gcc-interface/ada-tree.def cb9de0fea640e1eb0cb786f98b60263d gcc/ada/gcc-interface/ada-tree.h 51c95420b5900990141d2e5705582197 gcc/ada/gcc-interface/ada.h 4cbfd794461da0feb1b8661ec623b6c6 gcc/ada/gcc-interface/config-lang.in 9779c4debc13c6f1cfa1e4e6a6e6c638 gcc/ada/gcc-interface/cuintp.c ! 51127c0cd04f21cd8a24cabb46dbc078 gcc/ada/gcc-interface/decl.c c413d4d50e9563859f4d751a4404b705 gcc/ada/gcc-interface/gadaint.h c7117c67e2102857d70e286a82985bc0 gcc/ada/gcc-interface/gigi.h f2528ece7aa7e2ed8123de8fe434252a gcc/ada/gcc-interface/lang-specs.h 1bba4d8f118cd8b82ada60fb44393339 gcc/ada/gcc-interface/lang.opt bc6f86c4a773c1bcb6a433ee6463059a gcc/ada/gcc-interface/misc.c 7bd3630f35c5ac7b5c6cfaf8b16e5723 gcc/ada/gcc-interface/targtyps.c ! ca894ab3761796021e4c372ffe4e787e gcc/ada/gcc-interface/trans.c ! 82ce1dd23beb3619ab6ecb3a9c8ba9bb gcc/ada/gcc-interface/utils.c d550c79030f34117a03a70132b6afe32 gcc/ada/gcc-interface/utils2.c 7441478a743eff5837846723eca81135 gcc/ada/get_scos.adb baa8fdaf8d693eb6c5a7e42944887584 gcc/ada/get_scos.ads --- 1466,1486 ---- b45654446bc74bb68ae4adef78906e9b gcc/ada/g-zspche.ads c97edf7ce39a908dcaec55eb49d0abee gcc/ada/g-zstspl.ads 03f505d0c5a108b347698645d923a2bb gcc/ada/gcc-interface/Make-lang.in ! 6f4fbe2ce7958fc0afcfd85bc1ca33e8 gcc/ada/gcc-interface/Makefile.in 055be3d11fa6ccb53ffe7f8970a005ce gcc/ada/gcc-interface/ada-tree.def cb9de0fea640e1eb0cb786f98b60263d gcc/ada/gcc-interface/ada-tree.h 51c95420b5900990141d2e5705582197 gcc/ada/gcc-interface/ada.h 4cbfd794461da0feb1b8661ec623b6c6 gcc/ada/gcc-interface/config-lang.in 9779c4debc13c6f1cfa1e4e6a6e6c638 gcc/ada/gcc-interface/cuintp.c ! abb812a5ed2b2de77f15f562821a631b gcc/ada/gcc-interface/decl.c c413d4d50e9563859f4d751a4404b705 gcc/ada/gcc-interface/gadaint.h c7117c67e2102857d70e286a82985bc0 gcc/ada/gcc-interface/gigi.h f2528ece7aa7e2ed8123de8fe434252a gcc/ada/gcc-interface/lang-specs.h 1bba4d8f118cd8b82ada60fb44393339 gcc/ada/gcc-interface/lang.opt bc6f86c4a773c1bcb6a433ee6463059a gcc/ada/gcc-interface/misc.c 7bd3630f35c5ac7b5c6cfaf8b16e5723 gcc/ada/gcc-interface/targtyps.c ! 9537a7f80ce82240be8e627f9cacfff2 gcc/ada/gcc-interface/trans.c ! fc98ad29d5c383124659e37a88ffdab9 gcc/ada/gcc-interface/utils.c d550c79030f34117a03a70132b6afe32 gcc/ada/gcc-interface/utils2.c 7441478a743eff5837846723eca81135 gcc/ada/get_scos.adb baa8fdaf8d693eb6c5a7e42944887584 gcc/ada/get_scos.ads *************** e06fa8bd7fd54c0006e3960c81b7a495 gcc/ad *** 1597,1603 **** 85c5042548b68febdcf0b894c6756bdb gcc/ada/mdll.adb 1a30059a65684f577354ab54bc9ef275 gcc/ada/mdll.ads 527af59205abef26289c5c195c15ef66 gcc/ada/memtrack.adb ! 3457b1bbb7fe78421171190036827ce0 gcc/ada/mingw32.h ac8392b5fda7d6d3938e45ae392cb0b2 gcc/ada/mkdir.c 2db2bb2a53e6b2a42f218a419fd061f8 gcc/ada/mlib-fil.adb fce82b6f8d7e669dfe343cfbad9152eb gcc/ada/mlib-fil.ads --- 1597,1603 ---- 85c5042548b68febdcf0b894c6756bdb gcc/ada/mdll.adb 1a30059a65684f577354ab54bc9ef275 gcc/ada/mdll.ads 527af59205abef26289c5c195c15ef66 gcc/ada/memtrack.adb ! 9ac2b3fea54e21080c2fde869b0ef659 gcc/ada/mingw32.h ac8392b5fda7d6d3938e45ae392cb0b2 gcc/ada/mkdir.c 2db2bb2a53e6b2a42f218a419fd061f8 gcc/ada/mlib-fil.adb fce82b6f8d7e669dfe343cfbad9152eb gcc/ada/mlib-fil.ads *************** fee77cbb25c211ed337724dac13cc16f gcc/ad *** 1965,1971 **** f147ed363aba7bfd5210a6c9bad98d22 gcc/ada/s-osinte-mingw.ads e0ccc12265d7031072307fee72e66441 gcc/ada/s-osinte-posix.adb 95d33f38d09b64c6ddbdf6ca9013a19a gcc/ada/s-osinte-rtems.adb ! 28b7f5c1fb0f8b5082fc0c24d6cd865e gcc/ada/s-osinte-rtems.ads 8e43cb0ee20789269fc8a03e909f1a98 gcc/ada/s-osinte-solaris-posix.ads 4b79cc58a1b73b941681456c8abba9f5 gcc/ada/s-osinte-solaris.adb 5d8bb4d19a51168c31b3c222912bdd69 gcc/ada/s-osinte-solaris.ads --- 1965,1971 ---- f147ed363aba7bfd5210a6c9bad98d22 gcc/ada/s-osinte-mingw.ads e0ccc12265d7031072307fee72e66441 gcc/ada/s-osinte-posix.adb 95d33f38d09b64c6ddbdf6ca9013a19a gcc/ada/s-osinte-rtems.adb ! eefe6d5048eed3735e14321d40ba8458 gcc/ada/s-osinte-rtems.ads 8e43cb0ee20789269fc8a03e909f1a98 gcc/ada/s-osinte-solaris-posix.ads 4b79cc58a1b73b941681456c8abba9f5 gcc/ada/s-osinte-solaris.adb 5d8bb4d19a51168c31b3c222912bdd69 gcc/ada/s-osinte-solaris.ads *************** e0ccc12265d7031072307fee72e66441 gcc/ad *** 1975,1980 **** --- 1975,1981 ---- 3ca20e76ed40d36def876d8045b583df gcc/ada/s-osprim-darwin.adb 04df8b3e983ea646cb9fd7db1add9679 gcc/ada/s-osprim-mingw.adb 83f4664ac4c1f0d525953e7ed404bc56 gcc/ada/s-osprim-posix.adb + 599d2063da60595b32c64cd4b66338cd gcc/ada/s-osprim-rtems.adb 1e419a3f6f2fa74c838df783069a8c60 gcc/ada/s-osprim-solaris.adb d18827b3491e6b29f50495c078dd78c4 gcc/ada/s-osprim-unix.adb ce66b90a2b73ea79796e48662f0de68e gcc/ada/s-osprim-vxworks.adb *************** ba80e21f0577644aa652ec5931d032d8 gcc/ad *** 2375,2381 **** 8fb30b82a2dade4e46d116fbad4c8085 gcc/ada/sem_ch13.ads c2d795651aeb34bdccbee2cbbcaba315 gcc/ada/sem_ch2.adb 2503e79ed6a55f6fcd86271accd9b9e2 gcc/ada/sem_ch2.ads ! 0d379ebbea263359646df5196c7dff63 gcc/ada/sem_ch3.adb 378872bb9c8c138da57aced4c5bd65b3 gcc/ada/sem_ch3.ads 7c6c75a7347298c12f266084210ee4db gcc/ada/sem_ch4.adb 4369e8974d1d9ff87d45432644a5f8b6 gcc/ada/sem_ch4.ads --- 2376,2382 ---- 8fb30b82a2dade4e46d116fbad4c8085 gcc/ada/sem_ch13.ads c2d795651aeb34bdccbee2cbbcaba315 gcc/ada/sem_ch2.adb 2503e79ed6a55f6fcd86271accd9b9e2 gcc/ada/sem_ch2.ads ! 9aeb1c7c7d07df2a31afc1e4300fe2c4 gcc/ada/sem_ch3.adb 378872bb9c8c138da57aced4c5bd65b3 gcc/ada/sem_ch3.ads 7c6c75a7347298c12f266084210ee4db gcc/ada/sem_ch4.adb 4369e8974d1d9ff87d45432644a5f8b6 gcc/ada/sem_ch4.ads *************** f49fb908b3e1b95e51b603504d1bfa24 gcc/ad *** 2415,2422 **** 88bf0e6b791759354e8ae81ef7507ff9 gcc/ada/sem_smem.ads ef47f0af7fa11e2fce10a7fb20c98511 gcc/ada/sem_type.adb 9176639d909025d92b4e8912af77b041 gcc/ada/sem_type.ads ! 211a1d63ff871670643aeb66a953a0a7 gcc/ada/sem_util.adb ! 8df7bfd6e1bebcb6f8ef2ae786e8c0e7 gcc/ada/sem_util.ads 1db799c9a140af9fb155a327f3a6e49b gcc/ada/sem_warn.adb 1b7d4036a641085606704eb68e9e7557 gcc/ada/sem_warn.ads b4fdbe835ffe56d072094daac548065e gcc/ada/sequenio.ads --- 2416,2423 ---- 88bf0e6b791759354e8ae81ef7507ff9 gcc/ada/sem_smem.ads ef47f0af7fa11e2fce10a7fb20c98511 gcc/ada/sem_type.adb 9176639d909025d92b4e8912af77b041 gcc/ada/sem_type.ads ! 36d2e90b172ff0febb7c32072363cea8 gcc/ada/sem_util.adb ! 0339d45576425b8235f546296887dcc1 gcc/ada/sem_util.ads 1db799c9a140af9fb155a327f3a6e49b gcc/ada/sem_warn.adb 1b7d4036a641085606704eb68e9e7557 gcc/ada/sem_warn.ads b4fdbe835ffe56d072094daac548065e gcc/ada/sequenio.ads *************** eee21dbcf5f2e92e21d5f65e79ef467e gcc/ad *** 2473,2479 **** 1f62c36d939ca81abdc3777380548854 gcc/ada/switch.ads d36e0605a7f68f541648e49af4e5d6ef gcc/ada/symbols.adb 28a22b1808efb5a1733162bd32c60ad3 gcc/ada/symbols.ads ! 77f8d6b2d60fa92e9f8cece19d65f41e gcc/ada/sysdep.c 7a47a8649f22534b1b04aba2637f1f6f gcc/ada/system-aix.ads 99b95c46db21c0b39ab2eecb4f0ef1b2 gcc/ada/system-darwin-arm.ads fbca9c41faf338a0943d70dc66018cf4 gcc/ada/system-darwin-ppc.ads --- 2474,2480 ---- 1f62c36d939ca81abdc3777380548854 gcc/ada/switch.ads d36e0605a7f68f541648e49af4e5d6ef gcc/ada/symbols.adb 28a22b1808efb5a1733162bd32c60ad3 gcc/ada/symbols.ads ! 0ca0b7f7e7cd60b6a255f096abaac886 gcc/ada/sysdep.c 7a47a8649f22534b1b04aba2637f1f6f gcc/ada/system-aix.ads 99b95c46db21c0b39ab2eecb4f0ef1b2 gcc/ada/system-darwin-arm.ads fbca9c41faf338a0943d70dc66018cf4 gcc/ada/system-darwin-ppc.ads *************** fc7be41f48bbad07a07baf3e27fc889b gcc/ad *** 2571,2577 **** 55bf22e5d4bffd386a14aa43b2a2ec63 gcc/alias.h 36e6104a99f85da5d16b7e261a9a9860 gcc/alloc-pool.c bbf80e664bc2c1a3d3bebb5f508373d6 gcc/alloc-pool.h ! 7bf8c5f6a4adbace76a663485869d709 gcc/asan.c d48810be996f39fd38606d5a591b6694 gcc/asan.h 3d5b256ddac71f2191b9b666524d70cb gcc/attribs.c 0397e511a7dd5384fedb769d059e8980 gcc/attribs.h --- 2572,2578 ---- 55bf22e5d4bffd386a14aa43b2a2ec63 gcc/alias.h 36e6104a99f85da5d16b7e261a9a9860 gcc/alloc-pool.c bbf80e664bc2c1a3d3bebb5f508373d6 gcc/alloc-pool.h ! 1b48d603378cf55d627de024a1ac6748 gcc/asan.c d48810be996f39fd38606d5a591b6694 gcc/asan.h 3d5b256ddac71f2191b9b666524d70cb gcc/attribs.c 0397e511a7dd5384fedb769d059e8980 gcc/attribs.h *************** d48810be996f39fd38606d5a591b6694 gcc/as *** 2580,2591 **** f3282c1b7f1b32e3de33eda069384b12 gcc/auto-profile.h 3d8045c90d665003a18932230be6c044 gcc/backend.h 0a421582477510a20899554a971fd3b8 gcc/basic-block.h ! b3e942d66ab096c5d916f9c80b7a6b95 gcc/bb-reorder.c e011891e7101cbf08438851847b50380 gcc/bb-reorder.h 4f13f945a546e96933494f65cd937763 gcc/bitmap.c 87a6abe81f5dcb21d241c1b9166c420d gcc/bitmap.h a3e1bd92ba9bdedb8c7153c6e72090c4 gcc/brig-builtins.def ! a9ed54f8ee0d79091a2e935e3c9dad9a gcc/brig/ChangeLog 2351e5f1fffd7af8d29270a899e85c47 gcc/brig/Make-lang.in ee6dd4618f856ac83d7067ce9254d85e gcc/brig/brig-builtins.h 729008055685d12fc1ca05008df01aef gcc/brig/brig-c.h --- 2581,2592 ---- f3282c1b7f1b32e3de33eda069384b12 gcc/auto-profile.h 3d8045c90d665003a18932230be6c044 gcc/backend.h 0a421582477510a20899554a971fd3b8 gcc/basic-block.h ! 8d9e80090a25e83ba2ac6311f5df0dea gcc/bb-reorder.c e011891e7101cbf08438851847b50380 gcc/bb-reorder.h 4f13f945a546e96933494f65cd937763 gcc/bitmap.c 87a6abe81f5dcb21d241c1b9166c420d gcc/bitmap.h a3e1bd92ba9bdedb8c7153c6e72090c4 gcc/brig-builtins.def ! 28f1df523efa10bddabc844bbfb2c076 gcc/brig/ChangeLog 2351e5f1fffd7af8d29270a899e85c47 gcc/brig/Make-lang.in ee6dd4618f856ac83d7067ce9254d85e gcc/brig/brig-builtins.h 729008055685d12fc1ca05008df01aef gcc/brig/brig-c.h *************** bee513b2167c326e657a757cafd956dc gcc/br *** 2628,2647 **** f47f3a5be286bb97d5b3ded0c77a7fc8 gcc/bt-load.c dbcb21d679fd944b98405b15f3e90057 gcc/builtin-attrs.def 57157f190b35a47dd4b683d398e513d6 gcc/builtin-types.def ! 7a09346dfccc475040b166ea64cbd42b gcc/builtins.c a97a907640298b1073edbcf6a02fe334 gcc/builtins.def afb31ef0129abddff28f552ef1c65626 gcc/builtins.h ! 296e73117dd13977d41b2cf9a0da6046 gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes 181b99ff0153386a9f37e991e4b564f0 gcc/c-family/array-notation-common.c 3750c2b07473ca2dc6e49f0032885798 gcc/c-family/c-ada-spec.c c6bcfcd3eaa0f226f1b049b0baf0927d gcc/c-family/c-ada-spec.h ! 7b56af582cc2333c154bced8f0fc950c gcc/c-family/c-attribs.c 61fca19f206b15614354104326f63123 gcc/c-family/c-cilkplus.c ! fadedeaaefba97e2974610d406e114f4 gcc/c-family/c-common.c b68399180567cc41ebcb0458faf3cd81 gcc/c-family/c-common.def 296adc79008883f988ea2e468a9c61c1 gcc/c-family/c-common.h ! 588826d39df48323307a7dff26e301cd gcc/c-family/c-cppbuiltin.c 8cf9afd0b571ce2d5e202f034d27edfc gcc/c-family/c-dump.c 51c6e9bee3aec18b8579f570f9678796 gcc/c-family/c-format.c 2bf149a0136a2ee50e3f488422f73dc8 gcc/c-family/c-format.h --- 2629,2648 ---- f47f3a5be286bb97d5b3ded0c77a7fc8 gcc/bt-load.c dbcb21d679fd944b98405b15f3e90057 gcc/builtin-attrs.def 57157f190b35a47dd4b683d398e513d6 gcc/builtin-types.def ! 31925965bb248a40786a82a829ca1722 gcc/builtins.c a97a907640298b1073edbcf6a02fe334 gcc/builtins.def afb31ef0129abddff28f552ef1c65626 gcc/builtins.h ! cb611bd6525f7285fd9bcb3e5d361719 gcc/c-family/ChangeLog ea3fa1f4d7390a105fa3caab4f79aaf7 gcc/c-family/ChangeLog.gimple-classes 181b99ff0153386a9f37e991e4b564f0 gcc/c-family/array-notation-common.c 3750c2b07473ca2dc6e49f0032885798 gcc/c-family/c-ada-spec.c c6bcfcd3eaa0f226f1b049b0baf0927d gcc/c-family/c-ada-spec.h ! 296ec2c0af128cc96ed7b508af99f62a gcc/c-family/c-attribs.c 61fca19f206b15614354104326f63123 gcc/c-family/c-cilkplus.c ! e3a0ce72fabbe8e421211c93d9c26840 gcc/c-family/c-common.c b68399180567cc41ebcb0458faf3cd81 gcc/c-family/c-common.def 296adc79008883f988ea2e468a9c61c1 gcc/c-family/c-common.h ! 8531c78dad8d5dfb40f260a38277b622 gcc/c-family/c-cppbuiltin.c 8cf9afd0b571ce2d5e202f034d27edfc gcc/c-family/c-dump.c 51c6e9bee3aec18b8579f570f9678796 gcc/c-family/c-format.c 2bf149a0136a2ee50e3f488422f73dc8 gcc/c-family/c-format.h *************** bdad430142d2d171b7e0ff950149b1f4 gcc/c- *** 2650,2660 **** b62245f957f1827f7b297664d5990121 gcc/c-family/c-indentation.h 0f4bfa70fe388beb66af314607b99b51 gcc/c-family/c-lex.c 30c2e467779eff504f1b83a1652e9234 gcc/c-family/c-objc.h ! 070d252b7251903015818002ef45fb77 gcc/c-family/c-omp.c 888bce9474894d8263924b464cd6ae49 gcc/c-family/c-opts.c 2427ba79f7f92bcf1a9869e8f7feda00 gcc/c-family/c-pch.c 1c58be1245dc21a8b0fdb511ee8536cd gcc/c-family/c-ppoutput.c ! deb5ec4e6aa3da16ceb12055061a47a6 gcc/c-family/c-pragma.c 6e17797774de4c42415f1892665f2cf5 gcc/c-family/c-pragma.h 449e75ed38edeac1b1b2250c23b06d84 gcc/c-family/c-pretty-print.c b2c1c10d1362a795090b542d5f7c622c gcc/c-family/c-pretty-print.h --- 2651,2661 ---- b62245f957f1827f7b297664d5990121 gcc/c-family/c-indentation.h 0f4bfa70fe388beb66af314607b99b51 gcc/c-family/c-lex.c 30c2e467779eff504f1b83a1652e9234 gcc/c-family/c-objc.h ! 433130a5ff7873dc4e18292ab24788fd gcc/c-family/c-omp.c 888bce9474894d8263924b464cd6ae49 gcc/c-family/c-opts.c 2427ba79f7f92bcf1a9869e8f7feda00 gcc/c-family/c-pch.c 1c58be1245dc21a8b0fdb511ee8536cd gcc/c-family/c-ppoutput.c ! c2bed27b68f5b5898e5a954bf2e8940e gcc/c-family/c-pragma.c 6e17797774de4c42415f1892665f2cf5 gcc/c-family/c-pragma.h 449e75ed38edeac1b1b2250c23b06d84 gcc/c-family/c-pretty-print.c b2c1c10d1362a795090b542d5f7c622c gcc/c-family/c-pretty-print.h *************** fe4c5f6b4662d6fc36d84a1f19c8fa16 gcc/c- *** 2669,2687 **** 3e076faabcb0bb95377ef8f357eced38 gcc/c-family/cilk.c 8916e2707114e23b2dccbbc6bc001a97 gcc/c-family/cppspec.c 82e6854ad3f227c85d7f08a6196d6f70 gcc/c-family/stub-objc.c ! ecfe5cdf37ac25df226209199c30cc72 gcc/c/ChangeLog 0caf43c9d9c18279169e7f43ad0c19b6 gcc/c/Make-lang.in 5e6eb0dd85447b36231477f9e3e4b5c0 gcc/c/c-array-notation.c a8003032dc7218cccd4aff44dede772d gcc/c/c-aux-info.c e2a3330e4218f15575ab43d04deaeb26 gcc/c/c-convert.c ! 26fab64e150e140ec7cb364d895b1fea gcc/c/c-decl.c c714615507e2f0981003d338ff5abc8a gcc/c/c-errors.c 838b541c23f280c0d43fad87bb59e9a9 gcc/c/c-fold.c f3cb7d70adefcf45917f39f56bad0180 gcc/c/c-lang.c fa65b6fcb253804c399bd8d1d14b079f gcc/c/c-lang.h 2c444e8873646b1237057e728c0cf46b gcc/c/c-objc-common.c 658c3e81020fbec498195f368198c7a7 gcc/c/c-objc-common.h ! a5b33423dfc749e36ced10144bad69f8 gcc/c/c-parser.c 2b62fc38332a49a6e5e8c09fb1afcef8 gcc/c/c-parser.h 67191d1deea476b99b33dab25437bb17 gcc/c/c-tree.h ff8e26b9ae235f43dd3d1b42f3683ad7 gcc/c/c-typeck.c --- 2670,2688 ---- 3e076faabcb0bb95377ef8f357eced38 gcc/c-family/cilk.c 8916e2707114e23b2dccbbc6bc001a97 gcc/c-family/cppspec.c 82e6854ad3f227c85d7f08a6196d6f70 gcc/c-family/stub-objc.c ! 311742733b737423255d6824e84ee55e gcc/c/ChangeLog 0caf43c9d9c18279169e7f43ad0c19b6 gcc/c/Make-lang.in 5e6eb0dd85447b36231477f9e3e4b5c0 gcc/c/c-array-notation.c a8003032dc7218cccd4aff44dede772d gcc/c/c-aux-info.c e2a3330e4218f15575ab43d04deaeb26 gcc/c/c-convert.c ! 85406841cb0c62a68382f1fed1e4eee8 gcc/c/c-decl.c c714615507e2f0981003d338ff5abc8a gcc/c/c-errors.c 838b541c23f280c0d43fad87bb59e9a9 gcc/c/c-fold.c f3cb7d70adefcf45917f39f56bad0180 gcc/c/c-lang.c fa65b6fcb253804c399bd8d1d14b079f gcc/c/c-lang.h 2c444e8873646b1237057e728c0cf46b gcc/c/c-objc-common.c 658c3e81020fbec498195f368198c7a7 gcc/c/c-objc-common.h ! 91488846efba891fa43f8ab34a7bf2a0 gcc/c/c-parser.c 2b62fc38332a49a6e5e8c09fb1afcef8 gcc/c/c-parser.h 67191d1deea476b99b33dab25437bb17 gcc/c/c-tree.h ff8e26b9ae235f43dd3d1b42f3683ad7 gcc/c/c-typeck.c *************** e9ca602eaa8766cf8ac30f86c84ead30 gcc/c/ *** 2690,2696 **** acb5ca82086acf009acea002766ece25 gcc/c/gimple-parser.c 8b7596ca25fb10eb5fb2576c3693786f gcc/c/gimple-parser.h 275667cbf114b5ac38093284c7c10051 gcc/caller-save.c ! 936dbdc7569ddd77e8259667339ea78e gcc/calls.c 35a3f0d9b1c58a5d06adb4e8d1d9439e gcc/calls.h 356f998e062811877195df2f08ba60ad gcc/ccmp.c 3b6db7d568f86900dcff15eabd20f2fb gcc/ccmp.h --- 2691,2697 ---- acb5ca82086acf009acea002766ece25 gcc/c/gimple-parser.c 8b7596ca25fb10eb5fb2576c3693786f gcc/c/gimple-parser.h 275667cbf114b5ac38093284c7c10051 gcc/caller-save.c ! cd6d8698b4023b95e7797474dc9a3396 gcc/calls.c 35a3f0d9b1c58a5d06adb4e8d1d9439e gcc/calls.h 356f998e062811877195df2f08ba60ad gcc/ccmp.c 3b6db7d568f86900dcff15eabd20f2fb gcc/ccmp.h *************** acb5ca82086acf009acea002766ece25 gcc/c/ *** 2699,2705 **** f2a3f561ff6a49bb0ecc811ec6512d3b gcc/cfg.h 89fba2fbf793e38b120e04b9a57eb22c gcc/cfganal.c cac33857c3d0eefa09bf0986ab7427ca gcc/cfganal.h ! 2ce44a8a419ca80168317a65338dda87 gcc/cfgbuild.c a73f90584530bcb1b885fd43355d274e gcc/cfgbuild.h 6fa961e30423e314c23201638fea498a gcc/cfgcleanup.c a0c5d611e8d6e95f00ae5b4b63785d88 gcc/cfgcleanup.h --- 2700,2706 ---- f2a3f561ff6a49bb0ecc811ec6512d3b gcc/cfg.h 89fba2fbf793e38b120e04b9a57eb22c gcc/cfganal.c cac33857c3d0eefa09bf0986ab7427ca gcc/cfganal.h ! 5618a7a96d31e6d07af20a0a0fd0b453 gcc/cfgbuild.c a73f90584530bcb1b885fd43355d274e gcc/cfgbuild.h 6fa961e30423e314c23201638fea498a gcc/cfgcleanup.c a0c5d611e8d6e95f00ae5b4b63785d88 gcc/cfgcleanup.h *************** a0c5d611e8d6e95f00ae5b4b63785d88 gcc/cf *** 2712,2726 **** 219f05d9984823c68ab76e19c309b156 gcc/cfgloopanal.c 55922f3bde8bb3dcbea5f03a5c9344d6 gcc/cfgloopmanip.c 0ba518027b3b1192d34ce4e3df414309 gcc/cfgloopmanip.h ! 01d42d4b22850b4004d57b367fc54afe gcc/cfgrtl.c 3ec8969e6ab20b3d4ce26552909629a0 gcc/cfgrtl.h 8a1684de97893f6d8c81a3abb1b05a4e gcc/cgraph.c 2c32272d18a449f82be44c54e800ee85 gcc/cgraph.h 06d4fcc1c803e967bc7bfdca53122d8c gcc/cgraphbuild.c b43331b3393b3512486372b11d9dc355 gcc/cgraphclones.c ! 5a8af495513b32d45e75bcf9a8bb02bd gcc/cgraphunit.c c956d15a21eb642d9cedd70c494af3ab gcc/chkp-builtins.def ! f8a2fafe51d4797274d6185b420cda08 gcc/cif-code.def c530a128ebcadb0602eb6ae3637c2391 gcc/cilk-builtins.def 64655edf5e7fc2db89f0f78f86b7321e gcc/cilk-common.c f9e550cfcb683744b7ec2e18a4f3f25b gcc/cilk.h --- 2713,2727 ---- 219f05d9984823c68ab76e19c309b156 gcc/cfgloopanal.c 55922f3bde8bb3dcbea5f03a5c9344d6 gcc/cfgloopmanip.c 0ba518027b3b1192d34ce4e3df414309 gcc/cfgloopmanip.h ! a1354db5bf8c1fb78a9871c75eee5580 gcc/cfgrtl.c 3ec8969e6ab20b3d4ce26552909629a0 gcc/cfgrtl.h 8a1684de97893f6d8c81a3abb1b05a4e gcc/cgraph.c 2c32272d18a449f82be44c54e800ee85 gcc/cgraph.h 06d4fcc1c803e967bc7bfdca53122d8c gcc/cgraphbuild.c b43331b3393b3512486372b11d9dc355 gcc/cgraphclones.c ! fe5290115faaf21f4964dfef0c8cc1e2 gcc/cgraphunit.c c956d15a21eb642d9cedd70c494af3ab gcc/chkp-builtins.def ! 97b819ab629c4d063ab6b0814f0d03a1 gcc/cif-code.def c530a128ebcadb0602eb6ae3637c2391 gcc/cilk-builtins.def 64655edf5e7fc2db89f0f78f86b7321e gcc/cilk-common.c f9e550cfcb683744b7ec2e18a4f3f25b gcc/cilk.h *************** f2ef0b7a04a3fb57b185556cf3c47432 gcc/co *** 2732,2738 **** 44b66023fcc1502d4ed7d5db4fbf4de3 gcc/collect2.c 68f9782519956a31e5010bdeb531abac gcc/collect2.h 5c20f36eb198b4f82e0a6a10a6232468 gcc/combine-stack-adj.c ! 61d4452a4f5eaeb18c3ccef61888155b gcc/combine.c 68373a9634c81023ca3245072f1cc05d gcc/common.md 57b6709b50ab53883091e6546b464a2f gcc/common.opt eeb9d016bece096753f8a59a733ee114 gcc/common/common-target-def.h --- 2733,2739 ---- 44b66023fcc1502d4ed7d5db4fbf4de3 gcc/collect2.c 68f9782519956a31e5010bdeb531abac gcc/collect2.h 5c20f36eb198b4f82e0a6a10a6232468 gcc/combine-stack-adj.c ! 579668ea48c71835ac4d1fb241e7fd01 gcc/combine.c 68373a9634c81023ca3245072f1cc05d gcc/common.md 57b6709b50ab53883091e6546b464a2f gcc/common.opt eeb9d016bece096753f8a59a733ee114 gcc/common/common-target-def.h *************** b0c22a32616d64c099ef851ddf261b23 gcc/co *** 2788,2796 **** 0d28f0ed0102c01397140daaf2614e83 gcc/compare-elim.c e7193667066e1926cc342fa433d763b4 gcc/conditions.h 452e1826a3cf7c2cfa4bfa44b511cb77 gcc/config.build ! 3bbb9a8ae90ac635f0c3d9e16eb31bad gcc/config.gcc dc4da52535cb76a4fa50c43fdea4ad61 gcc/config.host ! 30c99794ad39efa586b77df87ce21a4c gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README 3d4a14b8dc018b17cce2ea4585f41b55 gcc/config/aarch64/aarch64-arches.def c8327f0a78ae111247d01aa8b7076386 gcc/config/aarch64/aarch64-builtins.c --- 2789,2797 ---- 0d28f0ed0102c01397140daaf2614e83 gcc/compare-elim.c e7193667066e1926cc342fa433d763b4 gcc/conditions.h 452e1826a3cf7c2cfa4bfa44b511cb77 gcc/config.build ! a01160a55c00234a9d6f07fcaaccfdfd gcc/config.gcc dc4da52535cb76a4fa50c43fdea4ad61 gcc/config.host ! f2bce35bd9333a67114b7fbcb937af31 gcc/config.in 8e697813dc96ca90f5d0f4c196efe2cc gcc/config/README 3d4a14b8dc018b17cce2ea4585f41b55 gcc/config/aarch64/aarch64-arches.def c8327f0a78ae111247d01aa8b7076386 gcc/config/aarch64/aarch64-builtins.c *************** ac44bc673be92d1af8fe47341f7ad037 gcc/co *** 2813,2820 **** 822161a87a372e97985f19687555efb2 gcc/config/aarch64/aarch64-simd.md fbc9d22ea16726e8c5404ba63b95fbe6 gcc/config/aarch64/aarch64-tune.md 415934c7a49166288d8a84565c8cb662 gcc/config/aarch64/aarch64-tuning-flags.def ! 2b25a3362a82fa66bb7f5b81e67d13df gcc/config/aarch64/aarch64.c ! efeebf3623e965a4a7ff4210cb751d13 gcc/config/aarch64/aarch64.h dd5e78a9961bf9550b32b849393e9f16 gcc/config/aarch64/aarch64.md 46f1fa1446f50465ca061865c266d649 gcc/config/aarch64/aarch64.opt d72956fc0e5700efa6411099266daa61 gcc/config/aarch64/arm_acle.h --- 2814,2821 ---- 822161a87a372e97985f19687555efb2 gcc/config/aarch64/aarch64-simd.md fbc9d22ea16726e8c5404ba63b95fbe6 gcc/config/aarch64/aarch64-tune.md 415934c7a49166288d8a84565c8cb662 gcc/config/aarch64/aarch64-tuning-flags.def ! 20f5cdb6ced2790ddc6e5b28aaf412ff gcc/config/aarch64/aarch64.c ! d5a307c9e239b9b43d95a400462d115d gcc/config/aarch64/aarch64.h dd5e78a9961bf9550b32b849393e9f16 gcc/config/aarch64/aarch64.md 46f1fa1446f50465ca061865c266d649 gcc/config/aarch64/aarch64.opt d72956fc0e5700efa6411099266daa61 gcc/config/aarch64/arm_acle.h *************** e031a28eab206d4b53d4b26c206c7814 gcc/co *** 2840,2848 **** 142d74b958b77819754a86f22ec262c9 gcc/config/alpha/alpha-modes.def 91ae6e87d45c468297b61a2fd5c22f17 gcc/config/alpha/alpha-passes.def f33be94fa0f75c3f386a7cbe19e29c53 gcc/config/alpha/alpha-protos.h ! 82f36918902fb119f12ba4abedd54339 gcc/config/alpha/alpha.c 4a740bb1133406c1582bbf646f54a28a gcc/config/alpha/alpha.h ! 594e08b7e104b58126a2b35864259f1f gcc/config/alpha/alpha.md 36e48c7783afb4c7537a33dad0d9734d gcc/config/alpha/alpha.opt 49d08204e0dbf16116a281b38f5e94be gcc/config/alpha/constraints.md f9c485887fefec5e01222d26a952b37c gcc/config/alpha/driver-alpha.c --- 2841,2849 ---- 142d74b958b77819754a86f22ec262c9 gcc/config/alpha/alpha-modes.def 91ae6e87d45c468297b61a2fd5c22f17 gcc/config/alpha/alpha-passes.def f33be94fa0f75c3f386a7cbe19e29c53 gcc/config/alpha/alpha-protos.h ! 64a94d89945b0d2a64625dbef3597b6f gcc/config/alpha/alpha.c 4a740bb1133406c1582bbf646f54a28a gcc/config/alpha/alpha.h ! c14529a0230b1d7e1d2419380f8529b5 gcc/config/alpha/alpha.md 36e48c7783afb4c7537a33dad0d9734d gcc/config/alpha/alpha.opt 49d08204e0dbf16116a281b38f5e94be gcc/config/alpha/constraints.md f9c485887fefec5e01222d26a952b37c gcc/config/alpha/driver-alpha.c *************** f9c485887fefec5e01222d26a952b37c gcc/co *** 2856,2863 **** 6f786e9baf1665b86858b28a8853a9bf gcc/config/alpha/linux.h a6a98d2d8c3c5ee54e4713803aa9a1b6 gcc/config/alpha/netbsd.h 4c423619e0fb850e98c0261005dc394e gcc/config/alpha/openbsd.h ! 35d3647aeae60bb28c65bf2fa38f867c gcc/config/alpha/predicates.md ! d5365b01aac33590c118392807af5138 gcc/config/alpha/sync.md f970f66450dc3aa7e0fb2d4522f1a31f gcc/config/alpha/t-alpha 6e8dd648b9668f18b1dfd9f1203c9885 gcc/config/alpha/t-linux 8f7e8148ee17d780676ad6c66e7ee446 gcc/config/alpha/t-vms --- 2857,2864 ---- 6f786e9baf1665b86858b28a8853a9bf gcc/config/alpha/linux.h a6a98d2d8c3c5ee54e4713803aa9a1b6 gcc/config/alpha/netbsd.h 4c423619e0fb850e98c0261005dc394e gcc/config/alpha/openbsd.h ! 0777330a1145a5be1a663649d71e2d94 gcc/config/alpha/predicates.md ! a6e5cdf010cd354b779dc12db65aa268 gcc/config/alpha/sync.md f970f66450dc3aa7e0fb2d4522f1a31f gcc/config/alpha/t-alpha 6e8dd648b9668f18b1dfd9f1203c9885 gcc/config/alpha/t-linux 8f7e8148ee17d780676ad6c66e7ee446 gcc/config/alpha/t-vms *************** b42e597b37ec6ec700bb14149bda3c87 gcc/co *** 2892,2898 **** aee387033dcca9944e08497e61b2995d gcc/config/arc/fpx.md 4b8ad3a21a56121383537f2896d64367 gcc/config/arc/genmultilib.awk 354407e460794365924bd009aedcef30 gcc/config/arc/genoptions.awk ! 4d2d11fb797c1b747708ce7b9d52192d gcc/config/arc/linux.h e1571e08f5157ce5aac6a4029a970392 gcc/config/arc/predicates.md 4cc5a97a2a2a3f3ab702c776d92c8de0 gcc/config/arc/simdext.md e3253d76cfdc8d58a6517d8bde601fb2 gcc/config/arc/t-arc --- 2893,2899 ---- aee387033dcca9944e08497e61b2995d gcc/config/arc/fpx.md 4b8ad3a21a56121383537f2896d64367 gcc/config/arc/genmultilib.awk 354407e460794365924bd009aedcef30 gcc/config/arc/genoptions.awk ! e606a6a5e8ecdab8ba27939772857092 gcc/config/arc/linux.h e1571e08f5157ce5aac6a4029a970392 gcc/config/arc/predicates.md 4cc5a97a2a2a3f3ab702c776d92c8de0 gcc/config/arc/simdext.md e3253d76cfdc8d58a6517d8bde601fb2 gcc/config/arc/t-arc *************** d0f4a8e84b903577fdc4b4c653595682 gcc/co *** 2919,2926 **** 9fc296c38dbb9315478bd6a567c72cf7 gcc/config/arm/arm-simd-builtin-types.def d7ce5229b2c13c9f817d2b467a8fa208 gcc/config/arm/arm-tables.opt 632479ba42ec730b66ece345a4b6fa69 gcc/config/arm/arm-tune.md ! 2ee3330f30ef1334aaddcc777acbad66 gcc/config/arm/arm.c ! 4aaf5f83746eb25e87c7b77a8fd95677 gcc/config/arm/arm.h c10f43d9000ddb048c40f33afba47e70 gcc/config/arm/arm.md 402607c37d1e8d5a3d9559e6079f902d gcc/config/arm/arm.opt 24f38580cc601b8d52e906038d175b22 gcc/config/arm/arm1020e.md --- 2920,2927 ---- 9fc296c38dbb9315478bd6a567c72cf7 gcc/config/arm/arm-simd-builtin-types.def d7ce5229b2c13c9f817d2b467a8fa208 gcc/config/arm/arm-tables.opt 632479ba42ec730b66ece345a4b6fa69 gcc/config/arm/arm-tune.md ! 147e142eec2e26f4acf7b570c8cb2689 gcc/config/arm/arm.c ! be5ace49118723556bd504c20581de47 gcc/config/arm/arm.h c10f43d9000ddb048c40f33afba47e70 gcc/config/arm/arm.md 402607c37d1e8d5a3d9559e6079f902d gcc/config/arm/arm.opt 24f38580cc601b8d52e906038d175b22 gcc/config/arm/arm1020e.md *************** a0cec19bad640564226c7d98d5233a87 gcc/co *** 2965,2971 **** ad3c8b5f4ad23814f012d3bab7fdaba2 gcc/config/arm/fmp626.md 8fee74ab049dbf3bf62e4b46e02a17fd gcc/config/arm/freebsd.h 40ea8945438a059a4775a05d8019d6e6 gcc/config/arm/fuchsia-elf.h ! 25f9672cca83f9c2bd98e2371fa3cb28 gcc/config/arm/iterators.md f64c87de0e61f9baf01f52b1076c58ca gcc/config/arm/iwmmxt.md fd716e7e338c9853015251c58b381417 gcc/config/arm/iwmmxt2.md 43860172efd13ad5abdb3d79b63f45ca gcc/config/arm/ldmstm.md --- 2966,2972 ---- ad3c8b5f4ad23814f012d3bab7fdaba2 gcc/config/arm/fmp626.md 8fee74ab049dbf3bf62e4b46e02a17fd gcc/config/arm/freebsd.h 40ea8945438a059a4775a05d8019d6e6 gcc/config/arm/fuchsia-elf.h ! d6548cb1229403677474b9f76e6a82e7 gcc/config/arm/iterators.md f64c87de0e61f9baf01f52b1076c58ca gcc/config/arm/iwmmxt.md fd716e7e338c9853015251c58b381417 gcc/config/arm/iwmmxt2.md 43860172efd13ad5abdb3d79b63f45ca gcc/config/arm/ldmstm.md *************** b904d27c5271b122a49d456478249b63 gcc/co *** 2976,2982 **** ae7f63fcc1707b4a22775f5ef6b4bc30 gcc/config/arm/marvell-f-iwmmxt.md 23c5005c8404d6b49376e62ddb72464b gcc/config/arm/marvell-pj4.md e7bd025c0a8b6c147154451f2ac26962 gcc/config/arm/mmintrin.h ! b9a2f9e1a619d853031b8d6873c61938 gcc/config/arm/neon.md 272ea0edb113be6f1106776f9d26af46 gcc/config/arm/netbsd-elf.h 4ca7f197762ae09faad8ee458dee5091 gcc/config/arm/parsecpu.awk 1238b1cb0060064bcc0aaf1f32c91a26 gcc/config/arm/predicates.md --- 2977,2983 ---- ae7f63fcc1707b4a22775f5ef6b4bc30 gcc/config/arm/marvell-f-iwmmxt.md 23c5005c8404d6b49376e62ddb72464b gcc/config/arm/marvell-pj4.md e7bd025c0a8b6c147154451f2ac26962 gcc/config/arm/mmintrin.h ! 2588d7cca19421378b8efdea05e285f6 gcc/config/arm/neon.md 272ea0edb113be6f1106776f9d26af46 gcc/config/arm/netbsd-elf.h 4ca7f197762ae09faad8ee458dee5091 gcc/config/arm/parsecpu.awk 1238b1cb0060064bcc0aaf1f32c91a26 gcc/config/arm/predicates.md *************** f65e32ade75647d28299317c685923d9 gcc/co *** 2996,3009 **** 4943fbef522585ab850f79aba907546d gcc/config/arm/t-symbian 9f0145d02d3aa24832a9dab5809c90e8 gcc/config/arm/t-vxworks 1ccbb3a35ced4f3fd933a078bc385319 gcc/config/arm/thumb1.md ! 96aa3e6f34f3f72f08dbbfd6335b1aaf gcc/config/arm/thumb2.md bd65ff7f66d3269ac18e871c51e38a8d gcc/config/arm/types.md 2fb445f2fcca33268ad2bb48250885b8 gcc/config/arm/uclinux-eabi.h 336c0f452f3280c0c5ffc36ffc1e2702 gcc/config/arm/uclinux-elf.h 3559547380d1c2adb53426be79b2ccbe gcc/config/arm/unknown-elf.h 2a9bd2ecfbbff5480c8c9bdf1ed4edba gcc/config/arm/unspecs.md a4a361c27029ddfc0d0f3eaf409debf6 gcc/config/arm/vec-common.md ! 72a1d80b375a71e46d6eeb97f5d16169 gcc/config/arm/vfp.md 9c11cb4c0e06934766e0c280b9309571 gcc/config/arm/vfp11.md 4208fe785394b6e82e88db5bf117c411 gcc/config/arm/vxworks.h baec31a658a567471285650931d03b15 gcc/config/arm/vxworks.opt --- 2997,3010 ---- 4943fbef522585ab850f79aba907546d gcc/config/arm/t-symbian 9f0145d02d3aa24832a9dab5809c90e8 gcc/config/arm/t-vxworks 1ccbb3a35ced4f3fd933a078bc385319 gcc/config/arm/thumb1.md ! 89c0b5ed6c82e82ea0ccca576bee28fc gcc/config/arm/thumb2.md bd65ff7f66d3269ac18e871c51e38a8d gcc/config/arm/types.md 2fb445f2fcca33268ad2bb48250885b8 gcc/config/arm/uclinux-eabi.h 336c0f452f3280c0c5ffc36ffc1e2702 gcc/config/arm/uclinux-elf.h 3559547380d1c2adb53426be79b2ccbe gcc/config/arm/unknown-elf.h 2a9bd2ecfbbff5480c8c9bdf1ed4edba gcc/config/arm/unspecs.md a4a361c27029ddfc0d0f3eaf409debf6 gcc/config/arm/vec-common.md ! 38100c2e73fb4ee84a6fcf31020476f0 gcc/config/arm/vfp.md 9c11cb4c0e06934766e0c280b9309571 gcc/config/arm/vfp11.md 4208fe785394b6e82e88db5bf117c411 gcc/config/arm/vxworks.h baec31a658a567471285650931d03b15 gcc/config/arm/vxworks.opt *************** a8b0daa164f32ba1e8276cf787899c6c gcc/co *** 3020,3026 **** 5b3a9cfaad388c30ccb64f8c22ae8434 gcc/config/avr/avr-passes.def d058fa65ae6b3fa1bca9d75e9afd3df6 gcc/config/avr/avr-protos.h 3425f429a345e1eecd51bcad4d3ab1bd gcc/config/avr/avr-stdint.h ! 6771c43cc39b2e0a5424a1150bf099cd gcc/config/avr/avr.c 8eaf3731bd955db07fddd895cde25917 gcc/config/avr/avr.h 43ebc4e25bd014ae225aa676bcfd0880 gcc/config/avr/avr.md 3be9837418a7860773b4a1a189853b1c gcc/config/avr/avr.opt --- 3021,3027 ---- 5b3a9cfaad388c30ccb64f8c22ae8434 gcc/config/avr/avr-passes.def d058fa65ae6b3fa1bca9d75e9afd3df6 gcc/config/avr/avr-protos.h 3425f429a345e1eecd51bcad4d3ab1bd gcc/config/avr/avr-stdint.h ! 4cce7957a71f16ac576e7aa68e790fb1 gcc/config/avr/avr.c 8eaf3731bd955db07fddd895cde25917 gcc/config/avr/avr.h 43ebc4e25bd014ae225aa676bcfd0880 gcc/config/avr/avr.md 3be9837418a7860773b4a1a189853b1c gcc/config/avr/avr.opt *************** e0597aeef0df7d8e852c545863b14f16 gcc/co *** 3136,3141 **** --- 3137,3143 ---- 6241a2fcb12d5e92801c64954bc80f70 gcc/config/epiphany/mode-switch-use.c 04b7b2136391bece909c5d1426c85d16 gcc/config/epiphany/predicates.md 944f1ff116f007892c88846acafc70b6 gcc/config/epiphany/resolve-sw-modes.c + ae148490dc68d3586af1ffd2b1c6da03 gcc/config/epiphany/rtems.h 8b232d81d46746de0d4529d8b389aa4c gcc/config/epiphany/t-epiphany aa1cf61bc18107f1da005917c54f3a42 gcc/config/flat.h 2eeb5eefca65ec53b112c7795484e1b1 gcc/config/fr30/constraints.md *************** ea365ae237281f97cba6047f5e0dda91 gcc/co *** 3176,3182 **** c72407b0b8426f2f0334aaac63539613 gcc/config/g.opt 47a846c61261dd0d18b34b4fc54383d4 gcc/config/glibc-c.c 51f7545eaebbd0fb8bcaf539462a86e3 gcc/config/glibc-stdint.h ! c4d55af3c3947ff698b80a0bc84c96e1 gcc/config/gnu-user.h 11b98ff00816ec85a4c64c14f75d55d8 gcc/config/gnu-user.opt 20d8721de1b2b9987ec6e72ab8dc9fd9 gcc/config/gnu.h 962660c7f18af646566959e5ec76b51b gcc/config/h8300/constraints.md --- 3178,3184 ---- c72407b0b8426f2f0334aaac63539613 gcc/config/g.opt 47a846c61261dd0d18b34b4fc54383d4 gcc/config/glibc-c.c 51f7545eaebbd0fb8bcaf539462a86e3 gcc/config/glibc-stdint.h ! a47e831843a160a2ffc8572822b3ab23 gcc/config/gnu-user.h 11b98ff00816ec85a4c64c14f75d55d8 gcc/config/gnu-user.opt 20d8721de1b2b9987ec6e72ab8dc9fd9 gcc/config/gnu.h 962660c7f18af646566959e5ec76b51b gcc/config/h8300/constraints.md *************** a3fdca97f68835a7fe64bb36537946c2 gcc/co *** 3236,3242 **** e5755082352ee97d90427b199539c657 gcc/config/i386/clflushoptintrin.h 7e1002bbf7ff7cbbf3484a56a1bdda37 gcc/config/i386/clwbintrin.h f275e0cb1c06e9be383ee2830742eabc gcc/config/i386/clzerointrin.h ! d4b6b32c0c5d653898f1d1998d3d25d1 gcc/config/i386/constraints.md 51916b5cfd29cd81ccf6e9e61c1f668d gcc/config/i386/core2.md 4c008dd80df596b0deae5e181737543c gcc/config/i386/cpuid.h 3005ca522302d379f11519de60d8f8fa gcc/config/i386/cross-stdarg.h --- 3238,3244 ---- e5755082352ee97d90427b199539c657 gcc/config/i386/clflushoptintrin.h 7e1002bbf7ff7cbbf3484a56a1bdda37 gcc/config/i386/clwbintrin.h f275e0cb1c06e9be383ee2830742eabc gcc/config/i386/clzerointrin.h ! e98e4f9bd96bb13bf122daa5ffb532f7 gcc/config/i386/constraints.md 51916b5cfd29cd81ccf6e9e61c1f668d gcc/config/i386/core2.md 4c008dd80df596b0deae5e181737543c gcc/config/i386/cpuid.h 3005ca522302d379f11519de60d8f8fa gcc/config/i386/cross-stdarg.h *************** d5238835384061cdbddd924882e89c6e gcc/co *** 3280,3292 **** 2a251c3dbcab569d7c442a3f9ae6c091 gcc/config/i386/i386-builtin.def 54c767a1819a987fb859eaa5b1e265b2 gcc/config/i386/i386-c.c 79f95578ad42bafa17a9a1f3c09514c3 gcc/config/i386/i386-modes.def ! 015ed2e5420a5f1372cdbde3125af3e5 gcc/config/i386/i386-opts.h 80b43deb5c1fc5fc0938a942fd33af10 gcc/config/i386/i386-passes.def ! f1bc7d5f8c944177d8943781d49a411f gcc/config/i386/i386-protos.h ! 384bd99095be702ebed1ef795b01d531 gcc/config/i386/i386.c ! 4f94353e7bae4d82d67ec0881a3b1c40 gcc/config/i386/i386.h ! f1f3006a73a23dfe67213ce8972a0176 gcc/config/i386/i386.md ! 229515353daa022c5cb3db4c5c1ffe25 gcc/config/i386/i386.opt 7ba0fe66f8e16b1b88672d1a6a6214e4 gcc/config/i386/i386elf.h 5d53d7bc9e564ebfaa7161e7fbb38fe8 gcc/config/i386/ia32intrin.h ff7697afc6890c3f8bfa85a93e514d93 gcc/config/i386/iamcu.h --- 3282,3294 ---- 2a251c3dbcab569d7c442a3f9ae6c091 gcc/config/i386/i386-builtin.def 54c767a1819a987fb859eaa5b1e265b2 gcc/config/i386/i386-c.c 79f95578ad42bafa17a9a1f3c09514c3 gcc/config/i386/i386-modes.def ! fd4a0dcde60c7daf09fe3b9ef6b3ee08 gcc/config/i386/i386-opts.h 80b43deb5c1fc5fc0938a942fd33af10 gcc/config/i386/i386-passes.def ! 99f3ec64842b3c7b16cb2c6417fadf1d gcc/config/i386/i386-protos.h ! 749a9a009cef9d1658433ff81c4c85ad gcc/config/i386/i386.c ! 607a4c0be95bd337919c6e8d571de2a9 gcc/config/i386/i386.h ! 2d75b28e31d055f2b2a25f83fe6165a7 gcc/config/i386/i386.md ! ca0d03ffdb381f643e5cf347dd93191b gcc/config/i386/i386.opt 7ba0fe66f8e16b1b88672d1a6a6214e4 gcc/config/i386/i386elf.h 5d53d7bc9e564ebfaa7161e7fbb38fe8 gcc/config/i386/ia32intrin.h ff7697afc6890c3f8bfa85a93e514d93 gcc/config/i386/iamcu.h *************** e73745071cc8d04859f3a5b1bfe0c185 gcc/co *** 3327,3333 **** 821ea9449f7b83c9ddb0fe9125206cc4 gcc/config/i386/pmmintrin.h 23f74d16ca6bad836ea7420f1532f523 gcc/config/i386/popcntintrin.h cbfcdb12765f75157ac2dc7fad0cf074 gcc/config/i386/ppro.md ! 2ca2dfec9b93d4e8392f36c6f1216062 gcc/config/i386/predicates.md ea1eafcd9f62ad8a5977836d0cd67695 gcc/config/i386/prfchwintrin.h 8d6edac06a5766274664fd5bb80ebde9 gcc/config/i386/rdos.h 762c0cd418230a8c5df0e0ab5d8c6d99 gcc/config/i386/rdos64.h --- 3329,3335 ---- 821ea9449f7b83c9ddb0fe9125206cc4 gcc/config/i386/pmmintrin.h 23f74d16ca6bad836ea7420f1532f523 gcc/config/i386/popcntintrin.h cbfcdb12765f75157ac2dc7fad0cf074 gcc/config/i386/ppro.md ! c9c374d5bbe7257b9014287b3e4f69f8 gcc/config/i386/predicates.md ea1eafcd9f62ad8a5977836d0cd67695 gcc/config/i386/prfchwintrin.h 8d6edac06a5766274664fd5bb80ebde9 gcc/config/i386/rdos.h 762c0cd418230a8c5df0e0ab5d8c6d99 gcc/config/i386/rdos64.h *************** a8aed88b8bbf38fdb6166cf2d0051cf1 gcc/co *** 3338,3345 **** 649897741fe2cca4f04c0c0b518afa61 gcc/config/i386/shaintrin.h 8be24cf09776d77cfca4a86b3442fbce gcc/config/i386/slm.md 655421e4471519d6655c892afcec20c5 gcc/config/i386/smmintrin.h ! df159043e425fa06ebb4523a3d149fb6 gcc/config/i386/sol2.h ! a426257f8a6e897e742103b620329fdf gcc/config/i386/sse.md 18427fe6cb074752acb8f48048eaf104 gcc/config/i386/ssemath.h aed767217d43c89b3e9f7ba6f4c213a2 gcc/config/i386/stringop.def 6d07cea9e3242e05941de0140745843b gcc/config/i386/subst.md --- 3340,3347 ---- 649897741fe2cca4f04c0c0b518afa61 gcc/config/i386/shaintrin.h 8be24cf09776d77cfca4a86b3442fbce gcc/config/i386/slm.md 655421e4471519d6655c892afcec20c5 gcc/config/i386/smmintrin.h ! b5bce0d903bc159066cd8fefe933e6af gcc/config/i386/sol2.h ! b6748c5753b398e598adfa0623ba209d gcc/config/i386/sse.md 18427fe6cb074752acb8f48048eaf104 gcc/config/i386/ssemath.h aed767217d43c89b3e9f7ba6f4c213a2 gcc/config/i386/stringop.def 6d07cea9e3242e05941de0140745843b gcc/config/i386/subst.md *************** bae69273c5e47d61e99558ca73c4fabd gcc/co *** 3379,3389 **** 12e09c6fa27c603c6db59fbfc2a6b089 gcc/config/i386/x-i386 113b1e1346489b0650778429b2872c71 gcc/config/i386/x-mingw32 065f6691976a9ae60ef58cefe691036d gcc/config/i386/x86-64.h ! 2d119a71a49c3ff8e2f72207753bfc35 gcc/config/i386/x86-tune.def 2477256739bbf2eb85722211b13d6e46 gcc/config/i386/x86intrin.h 4f6768af1ae8fe5a38ada3fa1436f42f gcc/config/i386/xm-cygwin.h aaad93820bb64b5fc315a6bae94768a9 gcc/config/i386/xm-djgpp.h ! 5433a6fc3362ff0cf0d8fa0cabec86b3 gcc/config/i386/xm-mingw32.h dc8ec8d98ef95efcf73d30e3a46bb77d gcc/config/i386/xmmintrin.h 8a527454cea62bb597701fc42aad834c gcc/config/i386/xopintrin.h 29b667a4509201433194d81bbed83af0 gcc/config/i386/xsavecintrin.h --- 3381,3391 ---- 12e09c6fa27c603c6db59fbfc2a6b089 gcc/config/i386/x-i386 113b1e1346489b0650778429b2872c71 gcc/config/i386/x-mingw32 065f6691976a9ae60ef58cefe691036d gcc/config/i386/x86-64.h ! 93b057aef17bfabe5a6a28a6add27408 gcc/config/i386/x86-tune.def 2477256739bbf2eb85722211b13d6e46 gcc/config/i386/x86intrin.h 4f6768af1ae8fe5a38ada3fa1436f42f gcc/config/i386/xm-cygwin.h aaad93820bb64b5fc315a6bae94768a9 gcc/config/i386/xm-djgpp.h ! 0c06e0e3d61fecb2fada86eb366ac83f gcc/config/i386/xm-mingw32.h dc8ec8d98ef95efcf73d30e3a46bb77d gcc/config/i386/xmmintrin.h 8a527454cea62bb597701fc42aad834c gcc/config/i386/xopintrin.h 29b667a4509201433194d81bbed83af0 gcc/config/i386/xsavecintrin.h *************** e06c959e697156c2cf4b80449f29e3d1 gcc/co *** 3568,3574 **** d816ce88e7311c9e9cb60abcd0995bc7 gcc/config/mips/elf.h 43938fef21cfb86413bf0963df846c76 gcc/config/mips/elfoabi.h ba0a583e4c5dbb6e78f552010f72e2f1 gcc/config/mips/elforion.h ! 58400ed1596c2fd72c33a55bf9b7010c gcc/config/mips/frame-header-opt.c d169694e040fec2d904dfdcf7ee2248e gcc/config/mips/generic.md f135adb6b04858214ea18f00c07195a5 gcc/config/mips/genopt.sh 3fe4cd1db15e4cb09b618f2f2f6fdb90 gcc/config/mips/gnu-user.h --- 3570,3576 ---- d816ce88e7311c9e9cb60abcd0995bc7 gcc/config/mips/elf.h 43938fef21cfb86413bf0963df846c76 gcc/config/mips/elfoabi.h ba0a583e4c5dbb6e78f552010f72e2f1 gcc/config/mips/elforion.h ! 0a22502227e836d747f04b698af57276 gcc/config/mips/frame-header-opt.c d169694e040fec2d904dfdcf7ee2248e gcc/config/mips/generic.md f135adb6b04858214ea18f00c07195a5 gcc/config/mips/genopt.sh 3fe4cd1db15e4cb09b618f2f2f6fdb90 gcc/config/mips/gnu-user.h *************** ceb2ca3fc3e9d3ff85474e68683d4d1b gcc/co *** 3709,3716 **** d24587b0c06c913cc589590f58da9f33 gcc/config/nds32/t-nds32 33e4807e8c585e2a9bbbc4c5364dbc5d gcc/config/netbsd-elf.h a93d7f5748efd9df34afe2e04357243b gcc/config/netbsd-elf.opt cae7d314173afb859eed801ace5420be gcc/config/netbsd-stdint.h ! bfbc7e64bd7d892436d2d851a1284810 gcc/config/netbsd.h 67ff693223ac2acc4ed38ffd0503e0e0 gcc/config/netbsd.opt 904f8fc1b202c498bdb0b974717b3034 gcc/config/newlib-stdint.h 7f3b9de9d0045cf761af9a3f1a77096d gcc/config/nios2/constraints.md --- 3711,3720 ---- d24587b0c06c913cc589590f58da9f33 gcc/config/nds32/t-nds32 33e4807e8c585e2a9bbbc4c5364dbc5d gcc/config/netbsd-elf.h a93d7f5748efd9df34afe2e04357243b gcc/config/netbsd-elf.opt + d8b38030a960e0e756336943c56fccd4 gcc/config/netbsd-protos.h cae7d314173afb859eed801ace5420be gcc/config/netbsd-stdint.h ! d297f70e7803a48a5f20d47af06bf306 gcc/config/netbsd.c ! ac8069101e31177773da5444d4602f1c gcc/config/netbsd.h 67ff693223ac2acc4ed38ffd0503e0e0 gcc/config/netbsd.opt 904f8fc1b202c498bdb0b974717b3034 gcc/config/newlib-stdint.h 7f3b9de9d0045cf761af9a3f1a77096d gcc/config/nios2/constraints.md *************** f9eb8215e990039206aca7d2674044dd gcc/co *** 3761,3767 **** d4df9eb3c1cf138edc94444846091689 gcc/config/pa/pa-openbsd.h 7bc5229cf1c43545830a2c4703b2368e gcc/config/pa/pa-opts.h 946b59b66fba818b8c8b48d21d19f78c gcc/config/pa/pa-protos.h ! 14e4bf07ea4a366c78f5f72d7a127387 gcc/config/pa/pa.c 2ad9edafd8324971bb2304a432029e16 gcc/config/pa/pa.h d8c2dd8006ef24c121cb8487f5e847a0 gcc/config/pa/pa.md 8bd9cf9ffd45cd39f633111f1c7a35c2 gcc/config/pa/pa.opt --- 3765,3771 ---- d4df9eb3c1cf138edc94444846091689 gcc/config/pa/pa-openbsd.h 7bc5229cf1c43545830a2c4703b2368e gcc/config/pa/pa-opts.h 946b59b66fba818b8c8b48d21d19f78c gcc/config/pa/pa-protos.h ! e9fa6ba5edde00fefb905b0b190a2f68 gcc/config/pa/pa.c 2ad9edafd8324971bb2304a432029e16 gcc/config/pa/pa.h d8c2dd8006ef24c121cb8487f5e847a0 gcc/config/pa/pa.md 8bd9cf9ffd45cd39f633111f1c7a35c2 gcc/config/pa/pa.opt *************** a068510ec9a28048681e78b9f613e1b3 gcc/co *** 3791,3800 **** c5879488e4025f0306739cb8a7f2e17e gcc/config/riscv/constraints.md 246648c72057b83cee3bca67721dc0f7 gcc/config/riscv/elf.h d45b22a8b6d427c1f1f1d6033877c69e gcc/config/riscv/generic.md ! 57f25195808bfcc3fc64baad5cac815f gcc/config/riscv/linux.h 2552259963f9ef19a088eae3912e9a24 gcc/config/riscv/multilib-generator f1a59ba1de4c68bd22c730bbb7f4e6f2 gcc/config/riscv/peephole.md ! 591638766a400ee1590dfe3fc6bdd47b gcc/config/riscv/pic.md 46a064db725287b4715bc45ee31cd292 gcc/config/riscv/predicates.md e090e9344fdb28abde9dcb58ff70edd1 gcc/config/riscv/riscv-builtins.c 83c301cf1a48e519076d1bd0a805e071 gcc/config/riscv/riscv-c.c --- 3795,3804 ---- c5879488e4025f0306739cb8a7f2e17e gcc/config/riscv/constraints.md 246648c72057b83cee3bca67721dc0f7 gcc/config/riscv/elf.h d45b22a8b6d427c1f1f1d6033877c69e gcc/config/riscv/generic.md ! 3c2a77c271439e18cc6ed65e7643fd23 gcc/config/riscv/linux.h 2552259963f9ef19a088eae3912e9a24 gcc/config/riscv/multilib-generator f1a59ba1de4c68bd22c730bbb7f4e6f2 gcc/config/riscv/peephole.md ! e5b950e2ba93a9abed5eae7ea6d7f65d gcc/config/riscv/pic.md 46a064db725287b4715bc45ee31cd292 gcc/config/riscv/predicates.md e090e9344fdb28abde9dcb58ff70edd1 gcc/config/riscv/riscv-builtins.c 83c301cf1a48e519076d1bd0a805e071 gcc/config/riscv/riscv-c.c *************** ea32e9af748a55f08da5b1a986507ff3 gcc/co *** 3802,3811 **** c258c856bbdcb2c03c099045727b3bce gcc/config/riscv/riscv-modes.def 1c01dcde782026e75e42b703830e26a6 gcc/config/riscv/riscv-opts.h afcb0b6bd11e75463251812bc095b764 gcc/config/riscv/riscv-protos.h ! 739104b27aef3bb10f105505551f400a gcc/config/riscv/riscv.c ! 0baae06eb3f9840b11041cc15da3cfda gcc/config/riscv/riscv.h ! 83620ad436904c3e3c3fe3d67bc606a9 gcc/config/riscv/riscv.md ! af2fa2022fa943036ec1fe226e86f20a gcc/config/riscv/riscv.opt 5ed01b941d66d7daebb31051be917524 gcc/config/riscv/sync.md 1c27821991689abdaa7a908a0cc8dfa4 gcc/config/riscv/t-elf-multilib d8ae7bee35ef1ecd77143535da9aae78 gcc/config/riscv/t-linux --- 3806,3816 ---- c258c856bbdcb2c03c099045727b3bce gcc/config/riscv/riscv-modes.def 1c01dcde782026e75e42b703830e26a6 gcc/config/riscv/riscv-opts.h afcb0b6bd11e75463251812bc095b764 gcc/config/riscv/riscv-protos.h ! a00bc06ce07c569dac40cdf99f4944bb gcc/config/riscv/riscv.c ! 5ce20e6e882bed3371be9de601dfc929 gcc/config/riscv/riscv.h ! f106e4f9b06d939a4dc948ade4ad0de8 gcc/config/riscv/riscv.md ! a4b78c217510867188e733a0bf929792 gcc/config/riscv/riscv.opt ! db6e4e3dccff20c5a085d7f7eb68f39a gcc/config/riscv/rtems.h 5ed01b941d66d7daebb31051be917524 gcc/config/riscv/sync.md 1c27821991689abdaa7a908a0cc8dfa4 gcc/config/riscv/t-elf-multilib d8ae7bee35ef1ecd77143535da9aae78 gcc/config/riscv/t-linux *************** c1fd5ce3265227f742dd7b50a4d4e860 gcc/co *** 3848,3854 **** c04eafaf5bcb98ef729029677f468111 gcc/config/rs6000/aix64.opt 9e37dfb2cfc128801986fe38da434059 gcc/config/rs6000/aix71.h 5b930da199cdf0fe45e6c13b194d3b09 gcc/config/rs6000/altivec.h ! dba4af95fbe46ee3f0b7e9c0cab4536d gcc/config/rs6000/altivec.md d93efc51b48185e307aea24e46c4eff1 gcc/config/rs6000/biarch64.h 03512609c1d7d657e1fa9d336feaf3f2 gcc/config/rs6000/cell.md aae8b48d17c545633f55e8f1f6eb9152 gcc/config/rs6000/constraints.md --- 3853,3859 ---- c04eafaf5bcb98ef729029677f468111 gcc/config/rs6000/aix64.opt 9e37dfb2cfc128801986fe38da434059 gcc/config/rs6000/aix71.h 5b930da199cdf0fe45e6c13b194d3b09 gcc/config/rs6000/altivec.h ! 61f68216e0bfebd7e03d81fc2aca9ab7 gcc/config/rs6000/altivec.md d93efc51b48185e307aea24e46c4eff1 gcc/config/rs6000/biarch64.h 03512609c1d7d657e1fa9d336feaf3f2 gcc/config/rs6000/cell.md aae8b48d17c545633f55e8f1f6eb9152 gcc/config/rs6000/constraints.md *************** b627499bac4bff6eade814494d296567 gcc/co *** 3894,3922 **** 9a6b1a1ff8e887d34edbdf0fc483ea51 gcc/config/rs6000/paired.md 21bd98216fa5dbbf5af23457c6d1a688 gcc/config/rs6000/power4.md 8a0b9fe5532f1ddcbdf2d7ae91870564 gcc/config/rs6000/power5.md ! 5abdfa293445b675d91be95e86ae0578 gcc/config/rs6000/power6.md be26c92327257b7174b227abbedfc38e gcc/config/rs6000/power7.md 3f7daf2bc14d5b44ee4627a036ad89dd gcc/config/rs6000/power8.md d72d32ce10b6b2d9d2b6c5c805ed926f gcc/config/rs6000/power9.md ! bd8fefee0e94517dc24429fccb7b64e6 gcc/config/rs6000/ppc-asm.h ! fe11e87c40d5f9527de18223ca9acaae gcc/config/rs6000/ppc-auxv.h 526c8b9296818a28a1cd31ac9a1aa109 gcc/config/rs6000/ppu_intrinsics.h 7ece436730a2913c3f5980fe64a72454 gcc/config/rs6000/predicates.md 8487b3f36ba6463ad32647e69e060c6b gcc/config/rs6000/rs6000-builtin.def ! fcb41a5c9dc3b08988a3ecaf74ada581 gcc/config/rs6000/rs6000-c.c 9c6ba7f9ee5978eee63cfee9d7ee9c3a gcc/config/rs6000/rs6000-cpus.def a46ae50924a00ed57cfdf730ebdb4237 gcc/config/rs6000/rs6000-linux.c 2824bf79a0d9619e1952e8d0a90aef04 gcc/config/rs6000/rs6000-modes.def f69e381c5811309d05da2313dfcec4de gcc/config/rs6000/rs6000-opts.h 845709f631fc1fa80de2bbaf192bff40 gcc/config/rs6000/rs6000-passes.def ! f447a3434c200cc3c5dcde8119bbb3c1 gcc/config/rs6000/rs6000-protos.h 914f1dcbd8cea8da94281c72be417b47 gcc/config/rs6000/rs6000-tables.opt ! 55e817de2d9d5928c3240f995f235dc5 gcc/config/rs6000/rs6000.c c461457c1525c2fb211d80801c9eef95 gcc/config/rs6000/rs6000.h ! 7d605e1fcf454e5e9f84c18f6142e6c0 gcc/config/rs6000/rs6000.md ! c949775e94ccec511542b25a9506b078 gcc/config/rs6000/rs6000.opt 77b278cec2d9c926b955ebfc7075c240 gcc/config/rs6000/rs64.md ! f1a2ca046d1a212bb9b5fa1484adf3d3 gcc/config/rs6000/rtems.h 608da58845a3fb30439833d8eaf211a4 gcc/config/rs6000/secureplt.h f5a43dfbd624a504c3556f91f9fa63c2 gcc/config/rs6000/si2vmx.h eb790531e65dd00658657ac8f5095bf0 gcc/config/rs6000/singlefp.h --- 3899,3927 ---- 9a6b1a1ff8e887d34edbdf0fc483ea51 gcc/config/rs6000/paired.md 21bd98216fa5dbbf5af23457c6d1a688 gcc/config/rs6000/power4.md 8a0b9fe5532f1ddcbdf2d7ae91870564 gcc/config/rs6000/power5.md ! dd869cc9b425b4538a4a7af0426f208a gcc/config/rs6000/power6.md be26c92327257b7174b227abbedfc38e gcc/config/rs6000/power7.md 3f7daf2bc14d5b44ee4627a036ad89dd gcc/config/rs6000/power8.md d72d32ce10b6b2d9d2b6c5c805ed926f gcc/config/rs6000/power9.md ! 4e2bdc3bc17b2e623ca22dc682e8d765 gcc/config/rs6000/ppc-asm.h ! b5f65d5db893cf3ca33e181b35cae0f3 gcc/config/rs6000/ppc-auxv.h 526c8b9296818a28a1cd31ac9a1aa109 gcc/config/rs6000/ppu_intrinsics.h 7ece436730a2913c3f5980fe64a72454 gcc/config/rs6000/predicates.md 8487b3f36ba6463ad32647e69e060c6b gcc/config/rs6000/rs6000-builtin.def ! 310ad712f43c44ae14112300fe48c9f8 gcc/config/rs6000/rs6000-c.c 9c6ba7f9ee5978eee63cfee9d7ee9c3a gcc/config/rs6000/rs6000-cpus.def a46ae50924a00ed57cfdf730ebdb4237 gcc/config/rs6000/rs6000-linux.c 2824bf79a0d9619e1952e8d0a90aef04 gcc/config/rs6000/rs6000-modes.def f69e381c5811309d05da2313dfcec4de gcc/config/rs6000/rs6000-opts.h 845709f631fc1fa80de2bbaf192bff40 gcc/config/rs6000/rs6000-passes.def ! 6484637023cec7e3ee43814bac0db0d5 gcc/config/rs6000/rs6000-protos.h 914f1dcbd8cea8da94281c72be417b47 gcc/config/rs6000/rs6000-tables.opt ! b9c0234d5772fef2080cb445f72297f9 gcc/config/rs6000/rs6000.c c461457c1525c2fb211d80801c9eef95 gcc/config/rs6000/rs6000.h ! d503be8617ff5f10f8cac13cf53d7234 gcc/config/rs6000/rs6000.md ! afd7ce6de7b3cecc76e6b46016989da4 gcc/config/rs6000/rs6000.opt 77b278cec2d9c926b955ebfc7075c240 gcc/config/rs6000/rs64.md ! d83c81edf739619fad01bf4449b95fcf gcc/config/rs6000/rtems.h 608da58845a3fb30439833d8eaf211a4 gcc/config/rs6000/secureplt.h f5a43dfbd624a504c3556f91f9fa63c2 gcc/config/rs6000/si2vmx.h eb790531e65dd00658657ac8f5095bf0 gcc/config/rs6000/singlefp.h *************** eb790531e65dd00658657ac8f5095bf0 gcc/co *** 3924,3930 **** 0f10b04b9473366a0aa02a94b4268cc9 gcc/config/rs6000/spe.md 6aea2d3f4c7f9feda711f14159b5db6b gcc/config/rs6000/spu2vmx.h b855f9d150b04ab26a568aeae119621a gcc/config/rs6000/sync.md ! 8c6e98b8542f737ae9d4a63c2ced1aa9 gcc/config/rs6000/sysv4.h 71532a23e8bb814c2631d92ccd79d8ea gcc/config/rs6000/sysv4.opt f0120a33d63c5afb74adb0c42642ac8d gcc/config/rs6000/sysv4le.h 3b0a83e6efece3becf37788b124982fa gcc/config/rs6000/t-aix43 --- 3929,3935 ---- 0f10b04b9473366a0aa02a94b4268cc9 gcc/config/rs6000/spe.md 6aea2d3f4c7f9feda711f14159b5db6b gcc/config/rs6000/spu2vmx.h b855f9d150b04ab26a568aeae119621a gcc/config/rs6000/sync.md ! 8ca53d428fb23f756564e17614d74193 gcc/config/rs6000/sysv4.h 71532a23e8bb814c2631d92ccd79d8ea gcc/config/rs6000/sysv4.opt f0120a33d63c5afb74adb0c42642ac8d gcc/config/rs6000/sysv4le.h 3b0a83e6efece3becf37788b124982fa gcc/config/rs6000/t-aix43 *************** b3a6d50652efdc2df7cda6c50ca133e7 gcc/co *** 3945,3951 **** 8653ebe1ded2158732c997c1b8e71181 gcc/config/rs6000/t-ppcgas 1b8aba690a39464c4ea9c647d73d6983 gcc/config/rs6000/t-ppcos c4ea9dee3824134ac4714286e8799f50 gcc/config/rs6000/t-rs6000 ! e52182374dfcc25fba56e65908e59e11 gcc/config/rs6000/t-rtems 538baa9071c5f649e985043f1eab9b5b gcc/config/rs6000/t-spe 18fb072a76b179eb23d0e6339e892030 gcc/config/rs6000/t-vxworks f11925c88524d2fd457bf77944da1302 gcc/config/rs6000/t-vxworksae --- 3950,3956 ---- 8653ebe1ded2158732c997c1b8e71181 gcc/config/rs6000/t-ppcgas 1b8aba690a39464c4ea9c647d73d6983 gcc/config/rs6000/t-ppcos c4ea9dee3824134ac4714286e8799f50 gcc/config/rs6000/t-rs6000 ! 497b48409619708eed5d475932305d9a gcc/config/rs6000/t-rtems 538baa9071c5f649e985043f1eab9b5b gcc/config/rs6000/t-spe 18fb072a76b179eb23d0e6339e892030 gcc/config/rs6000/t-vxworks f11925c88524d2fd457bf77944da1302 gcc/config/rs6000/t-vxworksae *************** f11925c88524d2fd457bf77944da1302 gcc/co *** 3954,3960 **** bf04bdab00faa0daebcc1114606fa4d3 gcc/config/rs6000/titan.md 245d1070b026f6c6557c6c7a5cca5166 gcc/config/rs6000/vec_types.h 6da3f51a86613143db6f52ff5feaa04e gcc/config/rs6000/vector.md ! 52b94095d882efc91e94c921202f1ef0 gcc/config/rs6000/vsx.md 58217d7c0d865013cdfc9ca30ba14670 gcc/config/rs6000/vxworks.h bf3883463c961f7b50a8f9809b6244ee gcc/config/rs6000/vxworksae.h f0bd85bb4b12651513a250e3a8b690bc gcc/config/rs6000/vxworksmils.h --- 3959,3965 ---- bf04bdab00faa0daebcc1114606fa4d3 gcc/config/rs6000/titan.md 245d1070b026f6c6557c6c7a5cca5166 gcc/config/rs6000/vec_types.h 6da3f51a86613143db6f52ff5feaa04e gcc/config/rs6000/vector.md ! 8bac59f78d205a1de6e1d0fca09aee66 gcc/config/rs6000/vsx.md 58217d7c0d865013cdfc9ca30ba14670 gcc/config/rs6000/vxworks.h bf3883463c961f7b50a8f9809b6244ee gcc/config/rs6000/vxworksae.h f0bd85bb4b12651513a250e3a8b690bc gcc/config/rs6000/vxworksmils.h *************** a078bb5956c9dd698ed9fa963506351b gcc/co *** 3975,3983 **** 92859e46f689b2f0a302db52083090c0 gcc/config/rx/rx-modes.def a994e8b76eb99cbd7d47a21ccafdf987 gcc/config/rx/rx-opts.h cffd323df4d31d4d52bcfc81e87f5cfc gcc/config/rx/rx-protos.h ! 7c3d2d3854431afa5b4a6cd05048cbac gcc/config/rx/rx.c 49407a79a3a866efc08042244786ce38 gcc/config/rx/rx.h ! c062aeb4647d7cc6718c37f78200e2ee gcc/config/rx/rx.md 4778e7c2ee5bedb69c75b7e4d209087d gcc/config/rx/rx.opt 0b4e015e9d3ae862ed5dde2d6c8a0e46 gcc/config/rx/t-rx ea36919fc1adc15812c1e6759392ae02 gcc/config/s390/2064.md --- 3980,3988 ---- 92859e46f689b2f0a302db52083090c0 gcc/config/rx/rx-modes.def a994e8b76eb99cbd7d47a21ccafdf987 gcc/config/rx/rx-opts.h cffd323df4d31d4d52bcfc81e87f5cfc gcc/config/rx/rx-protos.h ! ce579e3f87f37741b7bb1e43ff144a7c gcc/config/rx/rx.c 49407a79a3a866efc08042244786ce38 gcc/config/rx/rx.h ! 46b2f0adf1ae963b441bf197696c4297 gcc/config/rx/rx.md 4778e7c2ee5bedb69c75b7e4d209087d gcc/config/rx/rx.opt 0b4e015e9d3ae862ed5dde2d6c8a0e46 gcc/config/rx/t-rx ea36919fc1adc15812c1e6759392ae02 gcc/config/s390/2064.md *************** c31ffac63b4400ac8631d00e76f00896 gcc/co *** 4031,4048 **** 4a1188fe4b98662fe76b48fb1ed86902 gcc/config/sh/rtems.h 742e7ce9c334146ec562d13a6b4764e4 gcc/config/sh/rtemself.h 562c197d8dd3c18257ff90a4b86996c2 gcc/config/sh/sh-c.c ! bd98cf362235f7eda957d4a5bc356a1b gcc/config/sh/sh-mem.cc b042490c8fd0ce0aa1a3023af990b37e gcc/config/sh/sh-modes.def bc92a4402e9ac7d9b1698969038d5794 gcc/config/sh/sh-protos.h 22c3feaa663686845f0f718699785b52 gcc/config/sh/sh.c cf0ad69c78666c14af5fce0f52f58e26 gcc/config/sh/sh.h ! ca05fd451eea06de65592b372a53ea01 gcc/config/sh/sh.md e2e257f666c9bf9ff1b7e5e0d2ccf358 gcc/config/sh/sh.opt e3c3a7d65ca18d2dc6c6316e6934bffa gcc/config/sh/sh1.md f83ceb056a0ff31082e63450847a0a02 gcc/config/sh/sh4-300.md d477d76e37e02f71be26cb55f57fb37d gcc/config/sh/sh4.md 82fde7e0537588159e1dd3758bd46940 gcc/config/sh/sh4a.md ! 9e79def60c8026f9986d4a8f74d5b4d6 gcc/config/sh/sh_optimize_sett_clrt.cc ee30c2c8790c291f66228775baf58c65 gcc/config/sh/sh_treg_combine.cc ef869a69324522960db2c3e1e53c5e4b gcc/config/sh/superh.h 06158b0f1e33501120db330d7734228d gcc/config/sh/superh.opt --- 4036,4053 ---- 4a1188fe4b98662fe76b48fb1ed86902 gcc/config/sh/rtems.h 742e7ce9c334146ec562d13a6b4764e4 gcc/config/sh/rtemself.h 562c197d8dd3c18257ff90a4b86996c2 gcc/config/sh/sh-c.c ! d6df61b65eb3b34c88a763b504b2f797 gcc/config/sh/sh-mem.cc b042490c8fd0ce0aa1a3023af990b37e gcc/config/sh/sh-modes.def bc92a4402e9ac7d9b1698969038d5794 gcc/config/sh/sh-protos.h 22c3feaa663686845f0f718699785b52 gcc/config/sh/sh.c cf0ad69c78666c14af5fce0f52f58e26 gcc/config/sh/sh.h ! f2278c4d2452cfad51aeffea01dc6888 gcc/config/sh/sh.md e2e257f666c9bf9ff1b7e5e0d2ccf358 gcc/config/sh/sh.opt e3c3a7d65ca18d2dc6c6316e6934bffa gcc/config/sh/sh1.md f83ceb056a0ff31082e63450847a0a02 gcc/config/sh/sh4-300.md d477d76e37e02f71be26cb55f57fb37d gcc/config/sh/sh4.md 82fde7e0537588159e1dd3758bd46940 gcc/config/sh/sh4a.md ! cd0614651555b215c1d77a234e99e569 gcc/config/sh/sh_optimize_sett_clrt.cc ee30c2c8790c291f66228775baf58c65 gcc/config/sh/sh_treg_combine.cc ef869a69324522960db2c3e1e53c5e4b gcc/config/sh/superh.h 06158b0f1e33501120db330d7734228d gcc/config/sh/superh.opt *************** f391291e3b23065001be3b77c1c4b139 gcc/co *** 4059,4065 **** 200ca0a99baed6e4eee80d9c909cb7ea gcc/config/sol2-protos.h 0ce5b7164d44372fcb1b5ebb8d873d01 gcc/config/sol2-stubs.c 10427205f9e908896bb603b89ea10a7a gcc/config/sol2.c ! 91c27840b624e7b10353a8b1c459ed52 gcc/config/sol2.h ed9b8fdac94d44f4ad4f07567a6ae8c2 gcc/config/sol2.opt 2a8a79970ec03c931d43b719e12f6268 gcc/config/sparc/biarch64.h cda33eade13d321e424800344f31bb05 gcc/config/sparc/constraints.md --- 4064,4070 ---- 200ca0a99baed6e4eee80d9c909cb7ea gcc/config/sol2-protos.h 0ce5b7164d44372fcb1b5ebb8d873d01 gcc/config/sol2-stubs.c 10427205f9e908896bb603b89ea10a7a gcc/config/sol2.c ! e198781b95015324afc49cafdb5bb2d1 gcc/config/sol2.h ed9b8fdac94d44f4ad4f07567a6ae8c2 gcc/config/sol2.opt 2a8a79970ec03c931d43b719e12f6268 gcc/config/sparc/biarch64.h cda33eade13d321e424800344f31bb05 gcc/config/sparc/constraints.md *************** ebbdcebbe1adce348931a4c7274c7c51 gcc/co *** 4090,4102 **** 8716c31870255b84a448762c1c3f81c7 gcc/config/sparc/sparc-opts.h f7b50c68732f0e443b61cc30aafcdf2b gcc/config/sparc/sparc-passes.def c9f7a8357767f05db3064cf1cc649b67 gcc/config/sparc/sparc-protos.h ! 4491451686495f59f1b7cb132e68e357 gcc/config/sparc/sparc.c d22b6f70252e19940f3fdf0364e2c312 gcc/config/sparc/sparc.h ! 1fe1648d42b1c788278c1e89bbe65ed6 gcc/config/sparc/sparc.md ! 0741bbf74a8e053aa0cfbd76b52e3ea9 gcc/config/sparc/sparc.opt 0ce5501d01413f5bf8569648d53f026b gcc/config/sparc/sparclet.md 7b3ac0af0debfa3fc3e038c25d775e49 gcc/config/sparc/supersparc.md ! 05e57a721d56e30f627e3724a623a951 gcc/config/sparc/sync.md 7c37152816c6ceeb1109dfa173329d8f gcc/config/sparc/sysv4.h 1d1fae7cebb6040f80099604647cafed gcc/config/sparc/t-elf acbd843cea02b141e7862dcc2b2854d3 gcc/config/sparc/t-leon --- 4095,4107 ---- 8716c31870255b84a448762c1c3f81c7 gcc/config/sparc/sparc-opts.h f7b50c68732f0e443b61cc30aafcdf2b gcc/config/sparc/sparc-passes.def c9f7a8357767f05db3064cf1cc649b67 gcc/config/sparc/sparc-protos.h ! e59635de5be3ba3b8665efb32600f02b gcc/config/sparc/sparc.c d22b6f70252e19940f3fdf0364e2c312 gcc/config/sparc/sparc.h ! 79022cdd249b67e87687638f1166924e gcc/config/sparc/sparc.md ! 7ed2f6fc79160fe9d611d2b3b0c23d1a gcc/config/sparc/sparc.opt 0ce5501d01413f5bf8569648d53f026b gcc/config/sparc/sparclet.md 7b3ac0af0debfa3fc3e038c25d775e49 gcc/config/sparc/supersparc.md ! 88d08b7afdc62d1c901e533085b00016 gcc/config/sparc/sync.md 7c37152816c6ceeb1109dfa173329d8f gcc/config/sparc/sysv4.h 1d1fae7cebb6040f80099604647cafed gcc/config/sparc/t-elf acbd843cea02b141e7862dcc2b2854d3 gcc/config/sparc/t-leon *************** e6094534c4fe7d322c1753519fb0e409 gcc/co *** 4147,4152 **** --- 4152,4158 ---- 5a627af36427af5d7a662e254721033f gcc/config/t-libunwind 548a7228d471586260538728d5a76276 gcc/config/t-linux 6a0dbfc374b62252ece0d69c04b3cf67 gcc/config/t-lynx + c7b25b385c4a8c877ef2f3f4924a84c6 gcc/config/t-netbsd 4b382926844dd76c21046df37b41105c gcc/config/t-openbsd 661df4b203463c04ca8661136ee2eab5 gcc/config/t-pnt16-warn 501751f2be56698ed1c9cf18358b67ac gcc/config/t-rtems *************** da0c5a9aba24111956e86a5007dd39a6 gcc/co *** 4271,4291 **** ec846689d23cece17a1e173a290d1bc2 gcc/config/xtensa/t-xtensa cd3f530ea95922564e1c6760e6fdf034 gcc/config/xtensa/uclinux.h 19c527eb9ebf583239c86ce3bf541dec gcc/config/xtensa/uclinux.opt ! c9b736b68317fbacd2a12701f1b888cc gcc/config/xtensa/xtensa-protos.h ! b5f2dbec825cef82d1da95bb14b3eeef gcc/config/xtensa/xtensa.c ! 8de0185f42561f590761455b71b243aa gcc/config/xtensa/xtensa.h 3a904fae76ea41a5ac0cd3f169afb129 gcc/config/xtensa/xtensa.md 1e4b738829612b4836067eb92c840ee7 gcc/config/xtensa/xtensa.opt ! 9005b12c4ebc26916b61caee451c10eb gcc/configure ! 23222a88507326146a288487b79d3e20 gcc/configure.ac 75059ca0d9a4c904710ca39560b641e9 gcc/context.c 9544972a69766328e0ef70c98997c4e7 gcc/context.h ! ebbabcdc08a246b16b312857b4e2b0c8 gcc/convert.c 7af1b46eb0a148348d5903c595cfb58b gcc/convert.h 5e83fce2aab1937b6e6565f1c0262e8e gcc/coretypes.h 26c55904a2afbcf2aa43236db5fddcb8 gcc/coverage.c 1078685a2ff587f89142f3c631f04c82 gcc/coverage.h ! c390255d425bbd4b04e0bc46fdff7efb gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 --- 4277,4297 ---- ec846689d23cece17a1e173a290d1bc2 gcc/config/xtensa/t-xtensa cd3f530ea95922564e1c6760e6fdf034 gcc/config/xtensa/uclinux.h 19c527eb9ebf583239c86ce3bf541dec gcc/config/xtensa/uclinux.opt ! db7ecf40e8ff19197f922f4f71de8864 gcc/config/xtensa/xtensa-protos.h ! e85b8143fc7a173b74eb80c640d68832 gcc/config/xtensa/xtensa.c ! 93e6af33ce49627c14b7a69098b99cd7 gcc/config/xtensa/xtensa.h 3a904fae76ea41a5ac0cd3f169afb129 gcc/config/xtensa/xtensa.md 1e4b738829612b4836067eb92c840ee7 gcc/config/xtensa/xtensa.opt ! dff44b79b2e1ec9b505672e19ed7b1fb gcc/configure ! 648800c90903b1407d8d2e546662f225 gcc/configure.ac 75059ca0d9a4c904710ca39560b641e9 gcc/context.c 9544972a69766328e0ef70c98997c4e7 gcc/context.h ! 9b619bc52057ca0815749b39e7204101 gcc/convert.c 7af1b46eb0a148348d5903c595cfb58b gcc/convert.h 5e83fce2aab1937b6e6565f1c0262e8e gcc/coretypes.h 26c55904a2afbcf2aa43236db5fddcb8 gcc/coverage.c 1078685a2ff587f89142f3c631f04c82 gcc/coverage.h ! d9d22a883e60bfc46494b5b4a2253445 gcc/cp/ChangeLog d271e3663538ba1f3281cab3838e92cd gcc/cp/ChangeLog-1993 f5a44adbc05521162350ca409d1d95ce gcc/cp/ChangeLog-1994 ac55db48d964cb5469ff03c1cd3ee04d gcc/cp/ChangeLog-1995 *************** c1c7801b9b0f379e702a4f6cb83972e7 gcc/cp *** 4314,4344 **** 9aa3cd9f75c785de9f51446e3f295515 gcc/cp/ChangeLog.tree-ssa 52380899f9da4a59c3b99da38218f81a gcc/cp/Make-lang.in a664e5da3668f808636e156b4e59d16c gcc/cp/NEWS ! 1029453cb863d86f05ab838c6c31480c gcc/cp/call.c e370fe34672df8201043ba1a2e1104b6 gcc/cp/cfns.gperf c4d6f3b7d0a505fbe74e29774d11cfe9 gcc/cp/cfns.h 29ff42a2b71d6da2f092abec2933e31a gcc/cp/class.c d7ab06410b296f55856425add1bfd26d gcc/cp/config-lang.in ! 25088df7c032a66f694531c6e254b875 gcc/cp/constexpr.c 307f99a8e6084326c45980647f02b7e1 gcc/cp/constraint.cc 56aa0140f84f897feeb4ce54bd6e6f46 gcc/cp/cp-array-notation.c 38146ed098d4c26f2e487034266adf13 gcc/cp/cp-cilkplus.c c6462a1b73c2a072af8c94f300264afc gcc/cp/cp-cilkplus.h ! 2d99a51142dc9ba37d75154a286d7229 gcc/cp/cp-gimplify.c 5d9014a008fea03abd2bc8c93422b14c gcc/cp/cp-lang.c ! 1ee7f4f64c2b7dcc558849d534c3f19b gcc/cp/cp-objcp-common.c ! cc7fdc4e6c6a942fab5c5fb98607ca37 gcc/cp/cp-objcp-common.h aa36e3e3dbb56aa91e4c9c7b03774b50 gcc/cp/cp-tree.def ! 26572b350dca452e4bfb94fbd5965237 gcc/cp/cp-tree.h 41d94f2c081c6ecf6c7c7780b061d7ce gcc/cp/cp-ubsan.c ceb7718cd5e3462095095448e2809c63 gcc/cp/cvt.c ffc3a23e271c5e11d25ac613e8d2f152 gcc/cp/cxx-pretty-print.c 546dc862de2fc3919db2d2985e101844 gcc/cp/cxx-pretty-print.h ! 288f99966e87fff5c1170ee72e46c145 gcc/cp/decl.c c6b416fb9f920b607825dba7ef8d1a48 gcc/cp/decl.h ! f292d71216f94386b88d349c4c5ed294 gcc/cp/decl2.c aa98548ee09751a5b70c5eb31f1c6417 gcc/cp/dump.c ! b081cd3ed9f39109a617bf5471732ad7 gcc/cp/error.c 9006009bbe03dc24d4dd97bd9dd4235a gcc/cp/except.c 64d885b72c1c50ab9956e994bd7157a4 gcc/cp/expr.c da79ddc6be4fafc84a957cfd070a5c24 gcc/cp/friend.c --- 4320,4350 ---- 9aa3cd9f75c785de9f51446e3f295515 gcc/cp/ChangeLog.tree-ssa 52380899f9da4a59c3b99da38218f81a gcc/cp/Make-lang.in a664e5da3668f808636e156b4e59d16c gcc/cp/NEWS ! 1d013f2765f88f5c7c8063330a543e38 gcc/cp/call.c e370fe34672df8201043ba1a2e1104b6 gcc/cp/cfns.gperf c4d6f3b7d0a505fbe74e29774d11cfe9 gcc/cp/cfns.h 29ff42a2b71d6da2f092abec2933e31a gcc/cp/class.c d7ab06410b296f55856425add1bfd26d gcc/cp/config-lang.in ! e72dfd54ec9365a5080e85532d979c94 gcc/cp/constexpr.c 307f99a8e6084326c45980647f02b7e1 gcc/cp/constraint.cc 56aa0140f84f897feeb4ce54bd6e6f46 gcc/cp/cp-array-notation.c 38146ed098d4c26f2e487034266adf13 gcc/cp/cp-cilkplus.c c6462a1b73c2a072af8c94f300264afc gcc/cp/cp-cilkplus.h ! b3093ec10e8a31385127f98513f3d2e1 gcc/cp/cp-gimplify.c 5d9014a008fea03abd2bc8c93422b14c gcc/cp/cp-lang.c ! 4b50cb9e09af605dfd2618a77668ba27 gcc/cp/cp-objcp-common.c ! 329495300d80f28020460da01bd495f3 gcc/cp/cp-objcp-common.h aa36e3e3dbb56aa91e4c9c7b03774b50 gcc/cp/cp-tree.def ! d9b628b4366ce37bc9092e7b70cde79a gcc/cp/cp-tree.h 41d94f2c081c6ecf6c7c7780b061d7ce gcc/cp/cp-ubsan.c ceb7718cd5e3462095095448e2809c63 gcc/cp/cvt.c ffc3a23e271c5e11d25ac613e8d2f152 gcc/cp/cxx-pretty-print.c 546dc862de2fc3919db2d2985e101844 gcc/cp/cxx-pretty-print.h ! 4f5b1bdfda08f3a226f937e8309549b4 gcc/cp/decl.c c6b416fb9f920b607825dba7ef8d1a48 gcc/cp/decl.h ! 25ede544cff7d350b4ba23729a563d18 gcc/cp/decl2.c aa98548ee09751a5b70c5eb31f1c6417 gcc/cp/dump.c ! a3585afb1a25f599d06e94ece6af3451 gcc/cp/error.c 9006009bbe03dc24d4dd97bd9dd4235a gcc/cp/except.c 64d885b72c1c50ab9956e994bd7157a4 gcc/cp/expr.c da79ddc6be4fafc84a957cfd070a5c24 gcc/cp/friend.c *************** be48106ba86457ede68167384be9e1f3 gcc/cp *** 4348,4370 **** bca5f8c2bd65c2ffd939d16f089e49dc gcc/cp/lang-specs.h 78263a37da49248fcffe573ed7d84534 gcc/cp/lex.c fbfb6bc61d27f625485f113193c8bc76 gcc/cp/logic.cc ! fcd8582b2d8ac25a66c85042339ca545 gcc/cp/mangle.c 7cfe06010124becb935cb216a131abe6 gcc/cp/method.c 7105e71d644a11468e16a343f976a810 gcc/cp/name-lookup.c 3c91f835c3688bb59986de0664d535eb gcc/cp/name-lookup.h f0eccfb2b6cc10b6838fc80d7d6cd1e4 gcc/cp/operators.def adcc567eaf279137fc92a3f633597e7f gcc/cp/optimize.c ! 410a8d309d5307b036c05e93ca3f77a3 gcc/cp/parser.c 80b4f9350fbe5bd90898e0758266098c gcc/cp/parser.h ! 309eac58367eb8826dc1a50880cee83e gcc/cp/pt.c ee5df732d6ad1d51078b5d0f67a784b9 gcc/cp/ptree.c db936b1b0b3f9a6d128c05631887c312 gcc/cp/repo.c b78204514ca7ae7bce11a6af84ab55ce gcc/cp/rtti.c 5a02e3a5ee3953172c8f104d31c8de51 gcc/cp/search.c ! 8081388244ed358e886d5c98113d5f06 gcc/cp/semantics.c ! 644b6ecdbf2d6b0fb4f017880359727c gcc/cp/tree.c 9e5151a4798c91f91d0e0b4415324a77 gcc/cp/type-utils.h ! 0e84128fdc1175d7672955688d10fed0 gcc/cp/typeck.c 994a68c01c54a110a148128644fc40f9 gcc/cp/typeck2.c c706912cef452d7ab9a54976efc128e5 gcc/cp/vtable-class-hierarchy.c b51155275074539477f71e8e53c46d2d gcc/cppbuiltin.c --- 4354,4376 ---- bca5f8c2bd65c2ffd939d16f089e49dc gcc/cp/lang-specs.h 78263a37da49248fcffe573ed7d84534 gcc/cp/lex.c fbfb6bc61d27f625485f113193c8bc76 gcc/cp/logic.cc ! 9f433533e64ec9891980cf6cecd72c90 gcc/cp/mangle.c 7cfe06010124becb935cb216a131abe6 gcc/cp/method.c 7105e71d644a11468e16a343f976a810 gcc/cp/name-lookup.c 3c91f835c3688bb59986de0664d535eb gcc/cp/name-lookup.h f0eccfb2b6cc10b6838fc80d7d6cd1e4 gcc/cp/operators.def adcc567eaf279137fc92a3f633597e7f gcc/cp/optimize.c ! 822e3b5c8c51b8682fb9ac3c70185861 gcc/cp/parser.c 80b4f9350fbe5bd90898e0758266098c gcc/cp/parser.h ! 07ad9d18f730f930340367a486a10c83 gcc/cp/pt.c ee5df732d6ad1d51078b5d0f67a784b9 gcc/cp/ptree.c db936b1b0b3f9a6d128c05631887c312 gcc/cp/repo.c b78204514ca7ae7bce11a6af84ab55ce gcc/cp/rtti.c 5a02e3a5ee3953172c8f104d31c8de51 gcc/cp/search.c ! 5d5ddae3ed007ae0f0bf89a2faddcdb4 gcc/cp/semantics.c ! e01586d00327e7e49b631df9c67fd4d2 gcc/cp/tree.c 9e5151a4798c91f91d0e0b4415324a77 gcc/cp/type-utils.h ! 4878e5fa9bf6651fdc4515443e3702fc gcc/cp/typeck.c 994a68c01c54a110a148128644fc40f9 gcc/cp/typeck2.c c706912cef452d7ab9a54976efc128e5 gcc/cp/vtable-class-hierarchy.c b51155275074539477f71e8e53c46d2d gcc/cppbuiltin.c *************** ebc01257daa0725663692c5283f9066d gcc/do *** 4414,4451 **** 0e9464bec47974f6c152e2f7fcdd7c54 gcc/doc/configterms.texi 4d2e260f57c2a56aab4b7539aa8ea7a9 gcc/doc/contrib.texi d2ab741503a5629e8b4a70a0e5335637 gcc/doc/contribute.texi ! 6e2d4873621dc02487defd6edc56ed67 gcc/doc/cpp.1 ! 26864e25c448fbf1ff454703405ccb86 gcc/doc/cpp.info 265e1f73a91ecf4f8c0fec7d753f3a5d gcc/doc/cpp.texi e260807f252068741e2ebfdaa0e84349 gcc/doc/cppdiropts.texi 35e9afd06835a4037daf73de3e364d81 gcc/doc/cppenv.texi ! 9978b2c2c7bd7a1f7ac90fec65b3135e gcc/doc/cppinternals.info 1f296e408d348921b3ca6959d5cdfe5b gcc/doc/cppinternals.texi 3229dc0c44fab51cc291566148d79e6e gcc/doc/cppopts.texi 13eb634c50488bcf40424e0890a26326 gcc/doc/cppwarnopts.texi ! 9dc2c47142c1a3298f738fb49a6dad2d gcc/doc/extend.texi 198def664e7cfe4a4cc79c8cae55175d gcc/doc/fragments.texi 0f2077f3962ccb1d6c5c55cac48e1695 gcc/doc/frontends.texi ! c75df68a5d74bf678e78a02748a3f15f gcc/doc/fsf-funding.7 ! aec0032f742c96495f65f50409e05491 gcc/doc/g++.1 ! aec0032f742c96495f65f50409e05491 gcc/doc/gcc.1 ! 091f84f1d656421df76b9bfb7b62709c gcc/doc/gcc.info 82943cac2e651592a301c2081eda9666 gcc/doc/gcc.texi ! d66aecd62ee813fca89de42695a1a3bb gcc/doc/gccinstall.info ! c9ed6fc00d53f79cf1c7737784cefb08 gcc/doc/gccint.info 1baadd71cb074eb858078e79360a7f7a gcc/doc/gccint.texi ! a37f0445f3f6cef0adbe8de9cea7799f gcc/doc/gcov-dump.1 b8d24f76649917a88a4a7b21cd032a0f gcc/doc/gcov-dump.texi ! f3b238977c351ae326b499a628c2ea20 gcc/doc/gcov-tool.1 800ae82031d4de3b2a6fd13cb2b0a48e gcc/doc/gcov-tool.texi ! 0ac735e01d52cd89a35e4e49f20c8a8b gcc/doc/gcov.1 ! ccf239aaf12e027fec9df3acd99922e6 gcc/doc/gcov.texi 43a3b8154dcc4ca459ea567f9060b4d4 gcc/doc/generic.texi ! ce178ce25575f49698037a629a08df46 gcc/doc/gfdl.7 ! 357c655e4bb209d61e6089ad00b0a75b gcc/doc/gfortran.1 30559f39145bc73dde9cee3dd7ac9d3d gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 4c27684cad0ceed64a2b44f299ede46b gcc/doc/gpl.7 2581b3abd7f482fed6c88e2989a1339d gcc/doc/gty.texi aedde02cf24a26a69cabaf5846321364 gcc/doc/headerdirs.texi f197b98dd6f8c45086532f4a26a50328 gcc/doc/hostconfig.texi --- 4420,4457 ---- 0e9464bec47974f6c152e2f7fcdd7c54 gcc/doc/configterms.texi 4d2e260f57c2a56aab4b7539aa8ea7a9 gcc/doc/contrib.texi d2ab741503a5629e8b4a70a0e5335637 gcc/doc/contribute.texi ! 23a346751c8bf07ab4a0479ef665abc9 gcc/doc/cpp.1 ! 788d307c1c70c5f8bd3fe0e9c40ce543 gcc/doc/cpp.info 265e1f73a91ecf4f8c0fec7d753f3a5d gcc/doc/cpp.texi e260807f252068741e2ebfdaa0e84349 gcc/doc/cppdiropts.texi 35e9afd06835a4037daf73de3e364d81 gcc/doc/cppenv.texi ! c542ea717cc4724b94e16e2b0e7b2360 gcc/doc/cppinternals.info 1f296e408d348921b3ca6959d5cdfe5b gcc/doc/cppinternals.texi 3229dc0c44fab51cc291566148d79e6e gcc/doc/cppopts.texi 13eb634c50488bcf40424e0890a26326 gcc/doc/cppwarnopts.texi ! 84242499b84147a584efe5d3dc52c817 gcc/doc/extend.texi 198def664e7cfe4a4cc79c8cae55175d gcc/doc/fragments.texi 0f2077f3962ccb1d6c5c55cac48e1695 gcc/doc/frontends.texi ! 881469f635c3748fa6449cafae9328f8 gcc/doc/fsf-funding.7 ! 97e93265e9976430adeba6fbb3e249b4 gcc/doc/g++.1 ! 97e93265e9976430adeba6fbb3e249b4 gcc/doc/gcc.1 ! b311802b0d721f5557a9173405af3172 gcc/doc/gcc.info 82943cac2e651592a301c2081eda9666 gcc/doc/gcc.texi ! 992deb880da4c2148a7e77a2c582470c gcc/doc/gccinstall.info ! 117bf597587be9f2be09436afd5032a2 gcc/doc/gccint.info 1baadd71cb074eb858078e79360a7f7a gcc/doc/gccint.texi ! 9789b171ee7c77676b478c231405db4a gcc/doc/gcov-dump.1 b8d24f76649917a88a4a7b21cd032a0f gcc/doc/gcov-dump.texi ! 65211b8e0dc25bd3e5ac8cb5b422d822 gcc/doc/gcov-tool.1 800ae82031d4de3b2a6fd13cb2b0a48e gcc/doc/gcov-tool.texi ! 5ca793a43c4919988fc227e9d93790fe gcc/doc/gcov.1 ! 8b2b8c2ffabc034dcf9b102f8b3063e5 gcc/doc/gcov.texi 43a3b8154dcc4ca459ea567f9060b4d4 gcc/doc/generic.texi ! f5f68f5ed92ee3c959fabcffa38896a8 gcc/doc/gfdl.7 ! 2408a362bec40baffd7aa2f31cb7935c gcc/doc/gfortran.1 30559f39145bc73dde9cee3dd7ac9d3d gcc/doc/gimple.texi 290370669f02bef1502ada9273e5261f gcc/doc/gnu.texi ! 95b3d33d6450425626a0507850e737f6 gcc/doc/gpl.7 2581b3abd7f482fed6c88e2989a1339d gcc/doc/gty.texi aedde02cf24a26a69cabaf5846321364 gcc/doc/headerdirs.texi f197b98dd6f8c45086532f4a26a50328 gcc/doc/hostconfig.texi *************** b82b1143f78f373e3c76f6958d830869 gcc/do *** 4460,4466 **** ca9e57f076db155a030af10d129119f7 gcc/doc/install.texi 5d2ea6ff26e6e0a2b6e17e4d477e8385 gcc/doc/install.texi2html 8742acc0c4a46ac5075fbd7d6e95db10 gcc/doc/interface.texi ! 25ad7537f2e8ebd793de822be7dfd32d gcc/doc/invoke.texi 90ac7735caa268a14f96ad68d78372aa gcc/doc/languages.texi 084981d596106acaf75844a1d5d7d3a0 gcc/doc/libgcc.texi 67bc388db0ea8fcd11e555283d08546a gcc/doc/loop.texi --- 4466,4472 ---- ca9e57f076db155a030af10d129119f7 gcc/doc/install.texi 5d2ea6ff26e6e0a2b6e17e4d477e8385 gcc/doc/install.texi2html 8742acc0c4a46ac5075fbd7d6e95db10 gcc/doc/interface.texi ! 6f8adf56e58058c1354250b4c1caf05b gcc/doc/invoke.texi 90ac7735caa268a14f96ad68d78372aa gcc/doc/languages.texi 084981d596106acaf75844a1d5d7d3a0 gcc/doc/libgcc.texi 67bc388db0ea8fcd11e555283d08546a gcc/doc/loop.texi *************** b4c05b523f1b3f1736e962a6224a007e gcc/do *** 4476,4482 **** b96e0a15eff3d07f71b395d59f799798 gcc/doc/portability.texi 63fb4c48868dc673014ddce99883e75f gcc/doc/rtl.texi fad65170a3811a78b6146dd2d3f6e93c gcc/doc/service.texi ! 7b23f10313aae61a98fd27f17d8bbbb4 gcc/doc/sourcebuild.texi 415434ff17f5a40c97dc2202dbc0d5aa gcc/doc/standards.texi 49b59b2b3ae5cfc0c364a51e0de720e3 gcc/doc/tm.texi 629f92035aaa2a20c09ebc6971a24841 gcc/doc/tm.texi.in --- 4482,4488 ---- b96e0a15eff3d07f71b395d59f799798 gcc/doc/portability.texi 63fb4c48868dc673014ddce99883e75f gcc/doc/rtl.texi fad65170a3811a78b6146dd2d3f6e93c gcc/doc/service.texi ! c6c1fabb7733f32f532abad39f392b4b gcc/doc/sourcebuild.texi 415434ff17f5a40c97dc2202dbc0d5aa gcc/doc/standards.texi 49b59b2b3ae5cfc0c364a51e0de720e3 gcc/doc/tm.texi 629f92035aaa2a20c09ebc6971a24841 gcc/doc/tm.texi.in *************** d3c114e68e1cb29ad92ba50115cb0882 gcc/do *** 4496,4502 **** 1c23aca7ebd5e78682c77a10e92740d1 gcc/dwarf2asm.c f7caa5023e329cc7eb3c06fd9ceb9bed gcc/dwarf2asm.h 6cddd6e1d295b0dab3d3303ce424838b gcc/dwarf2cfi.c ! 3fe54b0e91b43a693a0bcacd67950d87 gcc/dwarf2out.c 3759ab65f22dade947ac51b51aeda4b3 gcc/dwarf2out.h efca4a45c30ac633725951382e487ebb gcc/edit-context.c 7f9fbe6415299ef034385a7ab3cfabd3 gcc/edit-context.h --- 4502,4508 ---- 1c23aca7ebd5e78682c77a10e92740d1 gcc/dwarf2asm.c f7caa5023e329cc7eb3c06fd9ceb9bed gcc/dwarf2asm.h 6cddd6e1d295b0dab3d3303ce424838b gcc/dwarf2cfi.c ! 948778957e9432b3e35f59614dc69742 gcc/dwarf2out.c 3759ab65f22dade947ac51b51aeda4b3 gcc/dwarf2out.h efca4a45c30ac633725951382e487ebb gcc/edit-context.c 7f9fbe6415299ef034385a7ab3cfabd3 gcc/edit-context.h *************** d0a7dc02daccbdcdd63a1d0f877c6af5 gcc/ex *** 4511,4524 **** 2ea49737d7b49d3ecee03ec6ba2dfd2e gcc/exec-tool.in f20130a1d04970609f42de8b3c8aed6a gcc/explow.c d252cd5dd9657304bdc0002539b65a19 gcc/explow.h ! a0edc716f00cf975a76d417dc362a148 gcc/expmed.c b583afc565dc4b1f111f4cc1731bef2a gcc/expmed.h ! 297a9a52ace7a962fe30f2d9a21c9bdc gcc/expr.c c86cc2531fcf8b1ada0373572b1b7acf gcc/expr.h f6f78aeb7c8ce93cfb147c8f3168a779 gcc/fibonacci_heap.c 3ade009fde9a4924090332142873a749 gcc/fibonacci_heap.h ! e0bfdd971c4411b9524e43b9f3ee6e1a gcc/file-find.c ! dabe51aa8609d85473e77bf5afde63ee gcc/file-find.h 238e8daf5f59662ab41997c30b651363 gcc/final.c 4d6d0d3ed9459bd59fb8b34e3f732bd7 gcc/fixed-value.c 719b77e854e9ffae1cb86430cd68de4e gcc/fixed-value.h --- 4517,4530 ---- 2ea49737d7b49d3ecee03ec6ba2dfd2e gcc/exec-tool.in f20130a1d04970609f42de8b3c8aed6a gcc/explow.c d252cd5dd9657304bdc0002539b65a19 gcc/explow.h ! 29b1f4ad5319703451634c14a24279ad gcc/expmed.c b583afc565dc4b1f111f4cc1731bef2a gcc/expmed.h ! b6eda19313836239ab67d0cbe7d1a286 gcc/expr.c c86cc2531fcf8b1ada0373572b1b7acf gcc/expr.h f6f78aeb7c8ce93cfb147c8f3168a779 gcc/fibonacci_heap.c 3ade009fde9a4924090332142873a749 gcc/fibonacci_heap.h ! 1b56f5236cd854fd307e3ded0653ddab gcc/file-find.c ! 895775a7ab087cc00a99bc0b23c6ec6d gcc/file-find.h 238e8daf5f59662ab41997c30b651363 gcc/final.c 4d6d0d3ed9459bd59fb8b34e3f732bd7 gcc/fixed-value.c 719b77e854e9ffae1cb86430cd68de4e gcc/fixed-value.h *************** dabe51aa8609d85473e77bf5afde63ee gcc/fi *** 4526,4534 **** cd76e0eb7ed6b4f0486461f0d1948045 gcc/flags.h 6927943dca40ac5f7ae356c063919105 gcc/fold-const-call.c 0da9f50d2a25c495dd6e295346612b51 gcc/fold-const-call.h ! 20d1de0c110f5e49ba294b96001d037f gcc/fold-const.c ! bcbae3dbb1a01a548543080fdbe72c62 gcc/fold-const.h ! 9c61cabbec18b8e3cd281a8044255abb gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 --- 4532,4540 ---- cd76e0eb7ed6b4f0486461f0d1948045 gcc/flags.h 6927943dca40ac5f7ae356c063919105 gcc/fold-const-call.c 0da9f50d2a25c495dd6e295346612b51 gcc/fold-const-call.h ! 228f1b0262deda42667d79941c43df40 gcc/fold-const.c ! 3dee9f07878a132cee302c04066982f0 gcc/fold-const.h ! 82032cbe84ed909417d5ae3b7b6b439f gcc/fortran/ChangeLog 3330102ad3a0217cba963be6b5eefd58 gcc/fortran/ChangeLog-2002 d000ab985b1eeb1ad5749f98b8fef99f gcc/fortran/ChangeLog-2003 bf42f94f0c51dcc7d8051cc7fda1efdc gcc/fortran/ChangeLog-2004 *************** edbdfa68f3d51964c5ebc63a2bf4b60b gcc/fo *** 4550,4580 **** 9e52ef7b47604fcff001ed312efc53b5 gcc/fortran/arith.h 8b0ae138dc03675da0db94570552db8e gcc/fortran/array.c f32f20357bba1a9cc926911dc98c1cfc gcc/fortran/bbt.c ! 7f512b6503c510d7cf7bd1359a06947b gcc/fortran/check.c 132d0ed0514568cbb856ba1f5a68317e gcc/fortran/class.c bb0ee5873d155869e95ebb483458cb8e gcc/fortran/config-lang.in 1ed808fc4a4d991803dfde347ddce84a gcc/fortran/constructor.c 1593dbd0a6495b5ebd71396758aacf2b gcc/fortran/constructor.h ! 5710954eca5d4e29c656293c9b1bb050 gcc/fortran/convert.c 6431cf61d7ee860834d71b17dad47cbf gcc/fortran/cpp.c fa144458c4bca9ea098fcc49e69c20cc gcc/fortran/cpp.h 5078e96177b0c85581c22c0d40a396e7 gcc/fortran/data.c 5d6574d0968f27afb4f3f41972e5f971 gcc/fortran/data.h ! 5eb44df49bf79bb7b549046fb41cedf2 gcc/fortran/decl.c f8486e9dde69b3b606bbc76192b374ab gcc/fortran/dependency.c 6933dfd689c80beb5bb29d30026a34a1 gcc/fortran/dependency.h c3fed47839886fe87dd3656caa11c7e5 gcc/fortran/dump-parse-tree.c 14ccfb214cc78c6632e78ebc5d43e4f2 gcc/fortran/error.c ! b63091b7b2520bcc8420986f086afddf gcc/fortran/expr.c 05f704e72952b3ef3b591809d8bb33cd gcc/fortran/f95-lang.c 0158e26a82ec42b8f9cb9d6c94759857 gcc/fortran/frontend-passes.c 1aa4f0a9593c4082dfc8a446a8021662 gcc/fortran/gfc-diagnostic.def ae757ab385911de35e92e949d47d76d9 gcc/fortran/gfc-internals.texi 56c1939f1b1a0f73ee6268ef407a6c83 gcc/fortran/gfortran.h ! 84b5d149ce0f51f0e99eab8710ca95aa gcc/fortran/gfortran.info 2c8f2a8e4a156cc2c60a93eed11d1a78 gcc/fortran/gfortran.texi 258ff078d7fd588b1db5276e388b42d3 gcc/fortran/gfortranspec.c ! dda9ab297163faa52ea452689d99f334 gcc/fortran/interface.c 81504f550fc73cbddec9f7ce09c9db54 gcc/fortran/intrinsic.c f5a621f4d92bd975f19fa58c09b9e6db gcc/fortran/intrinsic.h ba1407cb79153040295068873f19ccc1 gcc/fortran/intrinsic.texi --- 4556,4586 ---- 9e52ef7b47604fcff001ed312efc53b5 gcc/fortran/arith.h 8b0ae138dc03675da0db94570552db8e gcc/fortran/array.c f32f20357bba1a9cc926911dc98c1cfc gcc/fortran/bbt.c ! 73f93ef51da06d68256d5dfea4605ae8 gcc/fortran/check.c 132d0ed0514568cbb856ba1f5a68317e gcc/fortran/class.c bb0ee5873d155869e95ebb483458cb8e gcc/fortran/config-lang.in 1ed808fc4a4d991803dfde347ddce84a gcc/fortran/constructor.c 1593dbd0a6495b5ebd71396758aacf2b gcc/fortran/constructor.h ! 7a87d91055bcfd9e8ccd9cecdb995330 gcc/fortran/convert.c 6431cf61d7ee860834d71b17dad47cbf gcc/fortran/cpp.c fa144458c4bca9ea098fcc49e69c20cc gcc/fortran/cpp.h 5078e96177b0c85581c22c0d40a396e7 gcc/fortran/data.c 5d6574d0968f27afb4f3f41972e5f971 gcc/fortran/data.h ! c59b54f13e2dd2eec1574728f1b17d87 gcc/fortran/decl.c f8486e9dde69b3b606bbc76192b374ab gcc/fortran/dependency.c 6933dfd689c80beb5bb29d30026a34a1 gcc/fortran/dependency.h c3fed47839886fe87dd3656caa11c7e5 gcc/fortran/dump-parse-tree.c 14ccfb214cc78c6632e78ebc5d43e4f2 gcc/fortran/error.c ! 76703a4c94b2ca424a4367442e87150a gcc/fortran/expr.c 05f704e72952b3ef3b591809d8bb33cd gcc/fortran/f95-lang.c 0158e26a82ec42b8f9cb9d6c94759857 gcc/fortran/frontend-passes.c 1aa4f0a9593c4082dfc8a446a8021662 gcc/fortran/gfc-diagnostic.def ae757ab385911de35e92e949d47d76d9 gcc/fortran/gfc-internals.texi 56c1939f1b1a0f73ee6268ef407a6c83 gcc/fortran/gfortran.h ! f8e4894a8c77d4db71304f39ed221449 gcc/fortran/gfortran.info 2c8f2a8e4a156cc2c60a93eed11d1a78 gcc/fortran/gfortran.texi 258ff078d7fd588b1db5276e388b42d3 gcc/fortran/gfortranspec.c ! 93a26ba55a9d506f10783cb832724d71 gcc/fortran/interface.c 81504f550fc73cbddec9f7ce09c9db54 gcc/fortran/intrinsic.c f5a621f4d92bd975f19fa58c09b9e6db gcc/fortran/intrinsic.h ba1407cb79153040295068873f19ccc1 gcc/fortran/intrinsic.texi *************** a84b351eca744eb4326cdcf48ed2d447 gcc/fo *** 4587,4593 **** b6a48d929dc4bab485565b69477b39ba gcc/fortran/lang-specs.h 143689d60ddc29b5aceba7f734381371 gcc/fortran/lang.opt 645bd6455816a65c53807b5362dfec6f gcc/fortran/libgfortran.h ! c655108e5e7b121df7fb376a3901880b gcc/fortran/match.c 00a03b372a4378e1c07376ecf0602940 gcc/fortran/match.h d7e915937eda00d735c03407c30c147a gcc/fortran/matchexp.c 87a743f124dd99426032cc7ad19284bb gcc/fortran/mathbuiltins.def --- 4593,4599 ---- b6a48d929dc4bab485565b69477b39ba gcc/fortran/lang-specs.h 143689d60ddc29b5aceba7f734381371 gcc/fortran/lang.opt 645bd6455816a65c53807b5362dfec6f gcc/fortran/libgfortran.h ! da4850dc618f5aec7ece1748c9944105 gcc/fortran/match.c 00a03b372a4378e1c07376ecf0602940 gcc/fortran/match.h d7e915937eda00d735c03407c30c147a gcc/fortran/matchexp.c 87a743f124dd99426032cc7ad19284bb gcc/fortran/mathbuiltins.def *************** d7e915937eda00d735c03407c30c147a gcc/fo *** 4595,4626 **** ca57cb2a2d0c28803299174636bb8c7c gcc/fortran/module.c 72e9eb1f6f16e2794401854d4c90f425 gcc/fortran/openmp.c e8210239d0ae38ef26cbcec563bb173a gcc/fortran/options.c ! d9cf9047cb943bb4305173982623ffa9 gcc/fortran/parse.c e19e43330242c8950da01afa94a4f04b gcc/fortran/parse.h ! a19b4e132d4379e8dcedce36db382f26 gcc/fortran/primary.c ! a7948f92d833d807b1324240f2002a29 gcc/fortran/resolve.c 7ada4167f5cb66e95dc80a102e6c3b7a gcc/fortran/scanner.c 6761df883b8094d737206a8ba1c9f089 gcc/fortran/scanner.h ! c89c7bd80d0a1bce0b13d4e9c57349fe gcc/fortran/simplify.c 764d2fa05e4399ec39d47288d3bf78be gcc/fortran/st.c 3e76a7ace0e498c23235cc55bf9ba4ac gcc/fortran/symbol.c 04454a5aa04e742aa88cf053d40e0357 gcc/fortran/target-memory.c 1a603863c873416a3e2a080510768dd2 gcc/fortran/target-memory.h ! 1bfab4513520dc50842eec411542109c gcc/fortran/trans-array.c ab7472b590e1c49b9167f2f0516f3aea gcc/fortran/trans-array.h f982772425e7d9a65cbb819062be79e3 gcc/fortran/trans-common.c a2301830f80d9a2d2fa804e044559cf1 gcc/fortran/trans-const.c f3cd9953e1d7b41f8b4340256b01d9db gcc/fortran/trans-const.h ! 8bf2f0911b13ce4695ad9fefcc5a9b97 gcc/fortran/trans-decl.c ! 16e7e47df112c3ea61e94e006eb55ff2 gcc/fortran/trans-expr.c ! da548f6d67b4d0c84ee78d435bbc3558 gcc/fortran/trans-intrinsic.c ! 512dfb7cd9828caba1c1661fe7870636 gcc/fortran/trans-io.c ! 218428d9589d1d3e527d15ab3656a5d5 gcc/fortran/trans-openmp.c ! 5858848f38dc2ddee3b45b6c8b91a7e8 gcc/fortran/trans-stmt.c 09ff062ad8cb2da1edf2aefc8fec0dd0 gcc/fortran/trans-stmt.h ! 575c4e20eeca4556b0ed2b369922d850 gcc/fortran/trans-types.c ! 02d59699b4813a33fc6f79643e8f59f9 gcc/fortran/trans-types.h ! f370c52455a242185cb794b2d9524278 gcc/fortran/trans.c 596d0ef11ab5ee083f7de6987eac3907 gcc/fortran/trans.h 9d4b686857ace1c80925708b17d45124 gcc/fortran/types.def 35369c9f7b73348c0b6b15b8bc83e317 gcc/fp-test.c --- 4601,4632 ---- ca57cb2a2d0c28803299174636bb8c7c gcc/fortran/module.c 72e9eb1f6f16e2794401854d4c90f425 gcc/fortran/openmp.c e8210239d0ae38ef26cbcec563bb173a gcc/fortran/options.c ! cd92ca4dfa37306a53dad87d839f8d6e gcc/fortran/parse.c e19e43330242c8950da01afa94a4f04b gcc/fortran/parse.h ! 1e9be7262aaffda5b49993434c6d3665 gcc/fortran/primary.c ! 8a3d3c547e67d7248027bcab9dab69a9 gcc/fortran/resolve.c 7ada4167f5cb66e95dc80a102e6c3b7a gcc/fortran/scanner.c 6761df883b8094d737206a8ba1c9f089 gcc/fortran/scanner.h ! 9c48e89d25ace2aa7d92c8858cbc803e gcc/fortran/simplify.c 764d2fa05e4399ec39d47288d3bf78be gcc/fortran/st.c 3e76a7ace0e498c23235cc55bf9ba4ac gcc/fortran/symbol.c 04454a5aa04e742aa88cf053d40e0357 gcc/fortran/target-memory.c 1a603863c873416a3e2a080510768dd2 gcc/fortran/target-memory.h ! d9648912e83e0fb0f62e827d1f38e636 gcc/fortran/trans-array.c ab7472b590e1c49b9167f2f0516f3aea gcc/fortran/trans-array.h f982772425e7d9a65cbb819062be79e3 gcc/fortran/trans-common.c a2301830f80d9a2d2fa804e044559cf1 gcc/fortran/trans-const.c f3cd9953e1d7b41f8b4340256b01d9db gcc/fortran/trans-const.h ! 0a9f66e2694f4ed4fdba13d6f2baab6f gcc/fortran/trans-decl.c ! fa6219a646b4f37b9eae101942496e1a gcc/fortran/trans-expr.c ! 03565f51bc2795d46675b2338c5f2089 gcc/fortran/trans-intrinsic.c ! cafc1a1e5c27843235689aca4b4445be gcc/fortran/trans-io.c ! bcc5f8fcacb73d3f17e324477dfa974e gcc/fortran/trans-openmp.c ! b03423f1367c96e2e4559fd981bfae96 gcc/fortran/trans-stmt.c 09ff062ad8cb2da1edf2aefc8fec0dd0 gcc/fortran/trans-stmt.h ! 38dc288b225507fea2e53ebac49344c3 gcc/fortran/trans-types.c ! 8afb8a4ba30f131571e5bbd641342396 gcc/fortran/trans-types.h ! 530cdb5146a0273fc8d75438e976c9d5 gcc/fortran/trans.c 596d0ef11ab5ee083f7de6987eac3907 gcc/fortran/trans.h 9d4b686857ace1c80925708b17d45124 gcc/fortran/types.def 35369c9f7b73348c0b6b15b8bc83e317 gcc/fp-test.c *************** f370c52455a242185cb794b2d9524278 gcc/fo *** 4628,4640 **** 41ffcc0bd97f117d29338597d6405282 gcc/function.c dd500d77758f3dca71ae1b2251bfcd63 gcc/function.h 06a221444dd61295a4de421f6bde7091 gcc/fwprop.c ! bbd6a426a70d53ef662a2942893cd8e1 gcc/gcc-ar.c 08da5fe7fa92be26d66951727049c163 gcc/gcc-main.c 8e25dd9fc9c725f1623a9ca950e0f6d1 gcc/gcc-plugin.h 7c9fd2e11b34b851cf28dbd84544a4f0 gcc/gcc-rich-location.c dc7ef3b4c8953b4d7e41e69edb146c23 gcc/gcc-rich-location.h faa0d6ea88042246ed13a328764e8f56 gcc/gcc-symtab.h ! 0ccce874decea5093fd059c0395855d9 gcc/gcc.c bddd9d7c109f1e414177fae896a92969 gcc/gcc.h d41b63516043eba8422eddcae6f35ae2 gcc/gcov-counter.def d8b2bd39803fbdfd289883b9eb7615ca gcc/gcov-dump.c --- 4634,4646 ---- 41ffcc0bd97f117d29338597d6405282 gcc/function.c dd500d77758f3dca71ae1b2251bfcd63 gcc/function.h 06a221444dd61295a4de421f6bde7091 gcc/fwprop.c ! a3f2a611478af96e6ff01e90ca40e114 gcc/gcc-ar.c 08da5fe7fa92be26d66951727049c163 gcc/gcc-main.c 8e25dd9fc9c725f1623a9ca950e0f6d1 gcc/gcc-plugin.h 7c9fd2e11b34b851cf28dbd84544a4f0 gcc/gcc-rich-location.c dc7ef3b4c8953b4d7e41e69edb146c23 gcc/gcc-rich-location.h faa0d6ea88042246ed13a328764e8f56 gcc/gcc-symtab.h ! 38d678611dc3b0c6bce0a2dddad152fc gcc/gcc.c bddd9d7c109f1e414177fae896a92969 gcc/gcc.h d41b63516043eba8422eddcae6f35ae2 gcc/gcov-counter.def d8b2bd39803fbdfd289883b9eb7615ca gcc/gcov-dump.c *************** b017f09085f160e6758c885175c13f1a gcc/ge *** 4669,4675 **** 731a497572872b12a5e3033eae88f526 gcc/genextract.c 7981be4a9ace01c934486bb5c1e95cc0 gcc/genflags.c 28e8319538fae25e84df456e12da4263 gcc/gengenrtl.c ! 06190492a478c6dd56421a39dcf4ae5f gcc/gengtype-lex.c 1dce49f1d97b1589c77b1b1da4da18b1 gcc/gengtype-lex.l bfc1a73017fd55933f7d460769140fc4 gcc/gengtype-parse.c b838ec3819011b0b60e60df47a827ffb gcc/gengtype-state.c --- 4675,4681 ---- 731a497572872b12a5e3033eae88f526 gcc/genextract.c 7981be4a9ace01c934486bb5c1e95cc0 gcc/genflags.c 28e8319538fae25e84df456e12da4263 gcc/gengenrtl.c ! 47abdf1edd30c78f68647b8e10d048ca gcc/gengtype-lex.c 1dce49f1d97b1589c77b1b1da4da18b1 gcc/gengtype-lex.l bfc1a73017fd55933f7d460769140fc4 gcc/gengtype-parse.c b838ec3819011b0b60e60df47a827ffb gcc/gengtype-state.c *************** c24f9caff3845aa4a3440de7cd21c2e4 gcc/ge *** 4692,4705 **** 9cbea8781c62395cff613f4ea5209892 gcc/ggc-common.c f7cb56e2b894ce112c7d922775b20ed7 gcc/ggc-internal.h c8adee440c05c0f377828e736f4e897a gcc/ggc-none.c ! 287106dff8a70a1bc941cddc47669cde gcc/ggc-page.c aab5e8605b6acfd5563fd8fb857c475d gcc/ggc-tests.c cfab7b96bd884f95292f1774f45e4a59 gcc/ggc.h 2a14701570fbcd746ae6fa4486a6b26b gcc/gimple-builder.c ff046f8e9938dae0178a152ed191e19a gcc/gimple-builder.h c2d0730fb01b5369cf897eccf86f847a gcc/gimple-expr.c 98d8920ea5059b3d165e57222d891ccd gcc/gimple-expr.h ! 2f7da4521e461556b0d4a4fc6946ff8e gcc/gimple-fold.c ee21230993c156d1d5cb56fc92916e7d gcc/gimple-fold.h a283a81bd4a03a8d46ce24a68e29ad46 gcc/gimple-iterator.c 37f5e8d0d297bd9e9f53fa013dbd7dfb gcc/gimple-iterator.h --- 4698,4711 ---- 9cbea8781c62395cff613f4ea5209892 gcc/ggc-common.c f7cb56e2b894ce112c7d922775b20ed7 gcc/ggc-internal.h c8adee440c05c0f377828e736f4e897a gcc/ggc-none.c ! 5727d7ef4e582d6398c2a06d8fa7fcf4 gcc/ggc-page.c aab5e8605b6acfd5563fd8fb857c475d gcc/ggc-tests.c cfab7b96bd884f95292f1774f45e4a59 gcc/ggc.h 2a14701570fbcd746ae6fa4486a6b26b gcc/gimple-builder.c ff046f8e9938dae0178a152ed191e19a gcc/gimple-builder.h c2d0730fb01b5369cf897eccf86f847a gcc/gimple-expr.c 98d8920ea5059b3d165e57222d891ccd gcc/gimple-expr.h ! 27ce61d208c576b518d1a85a08d12ec4 gcc/gimple-fold.c ee21230993c156d1d5cb56fc92916e7d gcc/gimple-fold.h a283a81bd4a03a8d46ce24a68e29ad46 gcc/gimple-iterator.c 37f5e8d0d297bd9e9f53fa013dbd7dfb gcc/gimple-iterator.h *************** e094054b2bcf25e28ef9f11cc00f61a8 gcc/gi *** 4715,4723 **** 4cb92049e81898a878aeed277acf78c4 gcc/gimple-ssa-isolate-paths.c a67525d6b8a482efd66447bd638e8dd0 gcc/gimple-ssa-nonnull-compare.c 177901a9b94a05ea75be63da13c83847 gcc/gimple-ssa-split-paths.c ! 41b4176448e8e245d377802b1ec272c3 gcc/gimple-ssa-sprintf.c 39a67287a8826a634021934eaad399a8 gcc/gimple-ssa-store-merging.c ! e0e15040b1ec2c1bcfbe3d07dfb81bcb gcc/gimple-ssa-strength-reduction.c c56b2f9074833a8c8795067b1f5aea14 gcc/gimple-ssa-warn-alloca.c 4eb4658c5c649ef8a222e5ce7169fafd gcc/gimple-ssa.h 8f1fc05fa70d62ef0550eb40f55e141e gcc/gimple-streamer-in.c --- 4721,4729 ---- 4cb92049e81898a878aeed277acf78c4 gcc/gimple-ssa-isolate-paths.c a67525d6b8a482efd66447bd638e8dd0 gcc/gimple-ssa-nonnull-compare.c 177901a9b94a05ea75be63da13c83847 gcc/gimple-ssa-split-paths.c ! 1334430abaa2d5de56780eb997026e2c gcc/gimple-ssa-sprintf.c 39a67287a8826a634021934eaad399a8 gcc/gimple-ssa-store-merging.c ! e8d77595538dba087b837fd35086ec08 gcc/gimple-ssa-strength-reduction.c c56b2f9074833a8c8795067b1f5aea14 gcc/gimple-ssa-warn-alloca.c 4eb4658c5c649ef8a222e5ce7169fafd gcc/gimple-ssa.h 8f1fc05fa70d62ef0550eb40f55e141e gcc/gimple-streamer-in.c *************** f7247836b1345633d1912927939e811c gcc/gi *** 4730,4736 **** 25418f3de22a04a9d3a4bce8ea7f8233 gcc/gimple.h 3226b367822a6cecd929bc8d88435e00 gcc/gimplify-me.c 0614c0dbeca81e25b0e2a8ec8670bfdf gcc/gimplify-me.h ! 66358c36b1c039cf0596bd80a91ef9cf gcc/gimplify.c 0d655a1b36bd393358a60ae37468a057 gcc/gimplify.h 8a65435af2eced0ca67f6f9271c997ad gcc/ginclude/float.h b9721cc1f3c6349bcfe9d162a36d0eb9 gcc/ginclude/iso646.h --- 4736,4742 ---- 25418f3de22a04a9d3a4bce8ea7f8233 gcc/gimple.h 3226b367822a6cecd929bc8d88435e00 gcc/gimplify-me.c 0614c0dbeca81e25b0e2a8ec8670bfdf gcc/gimplify-me.h ! ebcba6937f86e9c0ee13c0a2907c7e04 gcc/gimplify.c 0d655a1b36bd393358a60ae37468a057 gcc/gimplify.h 8a65435af2eced0ca67f6f9271c997ad gcc/ginclude/float.h b9721cc1f3c6349bcfe9d162a36d0eb9 gcc/ginclude/iso646.h *************** a21c48eb0ebeb4a73c0889fd3f42e12b gcc/gi *** 4747,4753 **** e67de778552fcefca7289ac8daa55fe9 gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h 39fd87607b25c8f948dcf70c2f36b206 gcc/glimits.h ! 0c55510933e31241a3b05ff496983135 gcc/go/ChangeLog 4ff99cd3f2073d7c092cb2d42ca47e44 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc 4b9cbe6a30dbc7039c55993611934ad7 gcc/go/config-lang.in --- 4753,4759 ---- e67de778552fcefca7289ac8daa55fe9 gcc/ginclude/unwind-arm-common.h 8d9ecf0d6ef93c79623ce1d27a32a2cb gcc/ginclude/varargs.h 39fd87607b25c8f948dcf70c2f36b206 gcc/glimits.h ! 3e1c530ec9715d2b5f8d28f1808d88e2 gcc/go/ChangeLog 4ff99cd3f2073d7c092cb2d42ca47e44 gcc/go/Make-lang.in 60ea054548c83c7f66170073f9f3e74c gcc/go/README.gcc 4b9cbe6a30dbc7039c55993611934ad7 gcc/go/config-lang.in *************** ee237b6a93599fa3e0a203fb6b35ede8 gcc/hs *** 4853,4859 **** 6aa3d3add5653e8a3019dd556b31bc06 gcc/hw-doloop.c 218d881540980f810bcf492d62b29317 gcc/hw-doloop.h e15050f58e206d13ab391869e8f786de gcc/hwint.c ! b09542bf61d6de40901ecf29eb551017 gcc/hwint.h 90f8959f685e1d24f7386d5b9bd569f4 gcc/ifcvt.c 5c19ca7a0c904f96444f9076305cd7fb gcc/ifcvt.h e0d220b38d0af33eeee074108ff90167 gcc/inchash.c --- 4859,4865 ---- 6aa3d3add5653e8a3019dd556b31bc06 gcc/hw-doloop.c 218d881540980f810bcf492d62b29317 gcc/hw-doloop.h e15050f58e206d13ab391869e8f786de gcc/hwint.c ! a4f4cae6c046bf453ee32ccd8f872d11 gcc/hwint.h 90f8959f685e1d24f7386d5b9bd569f4 gcc/ifcvt.c 5c19ca7a0c904f96444f9076305cd7fb gcc/ifcvt.h e0d220b38d0af33eeee074108ff90167 gcc/inchash.c *************** d9cd763073cfcc84a261cc22db84e3c5 gcc/in *** 4865,4871 **** 3afe31ad8024a1a3fa2ef613bf72aeaf gcc/input.h 2014e898d755c5f081f63cab42dba047 gcc/insn-addr.h b5b40a72ca0dc9c233b0a85133cf9023 gcc/insn-notes.def ! 21ff35962acc0b2304b6052d818e83ba gcc/internal-fn.c 4da4cd5d23e7edda93fdf5fde7294840 gcc/internal-fn.def 9ce613eef2e1b9c6f221cbc1bb973967 gcc/internal-fn.h fdf64d7f98647f8f0d1bcf3b8a828aa8 gcc/intl.c --- 4871,4877 ---- 3afe31ad8024a1a3fa2ef613bf72aeaf gcc/input.h 2014e898d755c5f081f63cab42dba047 gcc/insn-addr.h b5b40a72ca0dc9c233b0a85133cf9023 gcc/insn-notes.def ! 8f9b42bec7f5e0256d074ab679e88d00 gcc/internal-fn.c 4da4cd5d23e7edda93fdf5fde7294840 gcc/internal-fn.def 9ce613eef2e1b9c6f221cbc1bb973967 gcc/internal-fn.h fdf64d7f98647f8f0d1bcf3b8a828aa8 gcc/intl.c *************** fdf64d7f98647f8f0d1bcf3b8a828aa8 gcc/in *** 4873,4888 **** 48525c51108ac26cb1d6058cb495d847 gcc/ipa-chkp.c e54d40e1ec53e0400607ff09c2a536dc gcc/ipa-chkp.h f1b7ee4df60044997d39d57d6c22993c gcc/ipa-comdats.c ! 8373092c9ea3ef2df82ddb0b77de58e5 gcc/ipa-cp.c 17dc594ca5c1827e32f8d1b147e84724 gcc/ipa-devirt.c d13a7631f21372dd7785d58258d8653a gcc/ipa-hsa.c ! 316a11df25cc16996f2146683e973287 gcc/ipa-icf-gimple.c ! 6ea6add1102e059f926cbefc9a9a6672 gcc/ipa-icf-gimple.h ! d97cacbe8b346f4d544eb4738bf656b0 gcc/ipa-icf.c 0a874446f2c1c01e9e44724e5a14c125 gcc/ipa-icf.h ! 69cf1eb6118e94c9ca08c45ffaa79699 gcc/ipa-inline-analysis.c 13c7778f9a4420ca43a2b5935fc2f296 gcc/ipa-inline-transform.c ! bb526fb3fd138d2076bd9588ddcb3a2f gcc/ipa-inline.c 91c2b100a6c4c5566296ce9bdeea1246 gcc/ipa-inline.h a77ae1d6734f2e873ab6390a3a330a48 gcc/ipa-polymorphic-call.c 20726f67378e6ff4631de06b111579c8 gcc/ipa-profile.c --- 4879,4894 ---- 48525c51108ac26cb1d6058cb495d847 gcc/ipa-chkp.c e54d40e1ec53e0400607ff09c2a536dc gcc/ipa-chkp.h f1b7ee4df60044997d39d57d6c22993c gcc/ipa-comdats.c ! f4cfc9c9997672b885ead74b33b9876b gcc/ipa-cp.c 17dc594ca5c1827e32f8d1b147e84724 gcc/ipa-devirt.c d13a7631f21372dd7785d58258d8653a gcc/ipa-hsa.c ! 2e220ffa1afa788d5e90c334c992320b gcc/ipa-icf-gimple.c ! 73e820ad96c398d3c582d46305f4a886 gcc/ipa-icf-gimple.h ! 1dc1860610c078bd9c54fa84f89bc64f gcc/ipa-icf.c 0a874446f2c1c01e9e44724e5a14c125 gcc/ipa-icf.h ! 56741052fd5a89044ea5a5f7bc52ad3b gcc/ipa-inline-analysis.c 13c7778f9a4420ca43a2b5935fc2f296 gcc/ipa-inline-transform.c ! 4381721dbfd945748e9d7f2b16c4e5f2 gcc/ipa-inline.c 91c2b100a6c4c5566296ce9bdeea1246 gcc/ipa-inline.h a77ae1d6734f2e873ab6390a3a330a48 gcc/ipa-polymorphic-call.c 20726f67378e6ff4631de06b111579c8 gcc/ipa-profile.c *************** e0da2ee6910ab8686a5910bc4a76afe0 gcc/ip *** 4896,4914 **** 4407b063d08bdd9fd0725de1c0e12486 gcc/ipa-split.c 465da077a88900d47929ac8fb1865e1f gcc/ipa-utils.c 658313d4d5d2feb69ed6f69a2c3cf571 gcc/ipa-utils.h ! 9b0f93a2b753644af6cc9dde8d05db9d gcc/ipa-visibility.c ef56d9ed82e1d34beae03896413d206e gcc/ipa.c 543028744e2f9e24cb5293e3a38b4013 gcc/ira-build.c 6fe6fbcada992f0dd5cac1e8e401f657 gcc/ira-color.c 576c000f3813929505341841101e4513 gcc/ira-conflicts.c ! 1a1c658d06603047faf5b18ebb41057a gcc/ira-costs.c 0cc90612f655f9553234b41c691dd045 gcc/ira-emit.c de81556308e4a1f61a5d691b42a31a77 gcc/ira-int.h 44c6dac0c625045cb04076642e5b0c66 gcc/ira-lives.c ! d557c4a811fc356ee5f09451ce1f024d gcc/ira.c 0e98da5359d5b8452a426452b3166e5e gcc/ira.h ! 130ec09e2a97e332b4f0503d18eacdbd gcc/is-a.h ! f1b40b1ede4d05633076d60552136236 gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit 2415ade78b2b648edf37df515cc36c21 gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst --- 4902,4920 ---- 4407b063d08bdd9fd0725de1c0e12486 gcc/ipa-split.c 465da077a88900d47929ac8fb1865e1f gcc/ipa-utils.c 658313d4d5d2feb69ed6f69a2c3cf571 gcc/ipa-utils.h ! 02f4b9ae1b45439a547f909b5361d4d5 gcc/ipa-visibility.c ef56d9ed82e1d34beae03896413d206e gcc/ipa.c 543028744e2f9e24cb5293e3a38b4013 gcc/ira-build.c 6fe6fbcada992f0dd5cac1e8e401f657 gcc/ira-color.c 576c000f3813929505341841101e4513 gcc/ira-conflicts.c ! a19ba21929bb5efca3651c1bd91d0556 gcc/ira-costs.c 0cc90612f655f9553234b41c691dd045 gcc/ira-emit.c de81556308e4a1f61a5d691b42a31a77 gcc/ira-int.h 44c6dac0c625045cb04076642e5b0c66 gcc/ira-lives.c ! caacb2e7c13ccab0fb6efa70d96bbab3 gcc/ira.c 0e98da5359d5b8452a426452b3166e5e gcc/ira.h ! 98d0dd78e50aed7d6d4f69e533b99340 gcc/is-a.h ! 3c6d75905af14adc0598e1a7507cf472 gcc/jit/ChangeLog 6071bdf04fb356c5ac99a99ec00c9a12 gcc/jit/ChangeLog.jit 2415ade78b2b648edf37df515cc36c21 gcc/jit/Make-lang.in fd0d76b6467c987f813d430a35d4760a gcc/jit/TODO.rst *************** efb189f8aa7e372458025bbcf9f04903 gcc/ji *** 4990,4998 **** 997b9bf62690f63089c5ff6269f2d00b gcc/jit/libgccjit.map aaaa50e3d4a7c60cc413faccb2d831c6 gcc/jit/notes.txt e30eea6dab135f3804a31be4cc278a80 gcc/jump.c ! 54a613fe594f27fd796b147fbb2a6d69 gcc/langhooks-def.h e2ac37626ab2613755dfada02841a33e gcc/langhooks.c ! 10bb8d0e40ee4736e1b50587f2b43518 gcc/langhooks.h e6c027362553eaf5c6f46fc4f69db21e gcc/lcm.c 99a426b25e15411d0bd50462810a54f9 gcc/lcm.h 1abc9f88e0cb49e9a4bfad147c84199d gcc/libfuncs.h --- 4996,5004 ---- 997b9bf62690f63089c5ff6269f2d00b gcc/jit/libgccjit.map aaaa50e3d4a7c60cc413faccb2d831c6 gcc/jit/notes.txt e30eea6dab135f3804a31be4cc278a80 gcc/jump.c ! 1608bb06475544e565849a28d80094f7 gcc/langhooks-def.h e2ac37626ab2613755dfada02841a33e gcc/langhooks.c ! 3e074c928934adba7d7eb2b1aeca4e48 gcc/langhooks.h e6c027362553eaf5c6f46fc4f69db21e gcc/lcm.c 99a426b25e15411d0bd50462810a54f9 gcc/lcm.h 1abc9f88e0cb49e9a4bfad147c84199d gcc/libfuncs.h *************** de7e5cd06b39169b643ab6ad28481a91 gcc/lo *** 5010,5024 **** baa6304ac17d60ea1de9cd389561fbc6 gcc/lower-subreg.h 968303eba3eb836c06ffcc0c51525814 gcc/lra-assigns.c 09ce513b6a920eb59b5e4f682f9ed312 gcc/lra-coalesce.c ! e52861b6f36a2037afaafc406fa7002e gcc/lra-constraints.c 2e5e171a1ba31e8815f2d10c5572f6ff gcc/lra-eliminations.c 50b7f737498cca3e2bddc9de57fce790 gcc/lra-int.h 9cecb559d637884863172d614ba72107 gcc/lra-lives.c ! 261fd5e2b0c458a82c1a44b6cfbd85a7 gcc/lra-remat.c 2b4fca08d55674b0e30afe94176ede8c gcc/lra-spills.c c60276500434e7561d841dcce306ed93 gcc/lra.c 1bfb8d5c5c3f87c38b435e60129e5025 gcc/lra.h ! ed0bcfbed25d482f9112a498f2b09fcc gcc/lto-cgraph.c 87ee293171e06e77ed29cc7e1e4df966 gcc/lto-compress.c bdb839d1119e305569cc0381b49171ef gcc/lto-compress.h 4aeaf9cedd7c397f3e147adb426158c2 gcc/lto-opts.c --- 5016,5030 ---- baa6304ac17d60ea1de9cd389561fbc6 gcc/lower-subreg.h 968303eba3eb836c06ffcc0c51525814 gcc/lra-assigns.c 09ce513b6a920eb59b5e4f682f9ed312 gcc/lra-coalesce.c ! f5b73ced9e982e87cebb4c133b96420f gcc/lra-constraints.c 2e5e171a1ba31e8815f2d10c5572f6ff gcc/lra-eliminations.c 50b7f737498cca3e2bddc9de57fce790 gcc/lra-int.h 9cecb559d637884863172d614ba72107 gcc/lra-lives.c ! a99263cf5a04d19dfbf3b8602665a19c gcc/lra-remat.c 2b4fca08d55674b0e30afe94176ede8c gcc/lra-spills.c c60276500434e7561d841dcce306ed93 gcc/lra.c 1bfb8d5c5c3f87c38b435e60129e5025 gcc/lra.h ! a0b668d25b2b3a5038eb0b1489b34ffb gcc/lto-cgraph.c 87ee293171e06e77ed29cc7e1e4df966 gcc/lto-compress.c bdb839d1119e305569cc0381b49171ef gcc/lto-compress.h 4aeaf9cedd7c397f3e147adb426158c2 gcc/lto-opts.c *************** cb0e052e6d99847359297ec3639e7494 gcc/lt *** 5030,5036 **** f7413cc95127c24fbfbca57399cc405e gcc/lto-streamer.c ac5af855d3af9e53bc7934819d845353 gcc/lto-streamer.h 32646f4b325ab40e02065344c8179008 gcc/lto-wrapper.c ! a9c8580bae7123be9376654a7f6e8fd2 gcc/lto/ChangeLog ced02ce6ebb471e6f0707b1098d059f9 gcc/lto/Make-lang.in 4df36a5baf5c564626eda96177fa5c33 gcc/lto/common.c dc83390218daebe5ba0cc15e5d0ef4f2 gcc/lto/common.h --- 5036,5042 ---- f7413cc95127c24fbfbca57399cc405e gcc/lto-streamer.c ac5af855d3af9e53bc7934819d845353 gcc/lto-streamer.h 32646f4b325ab40e02065344c8179008 gcc/lto-wrapper.c ! 9f664d49107a7e2206551ae1ae401c0e gcc/lto/ChangeLog ced02ce6ebb471e6f0707b1098d059f9 gcc/lto/Make-lang.in 4df36a5baf5c564626eda96177fa5c33 gcc/lto/common.c dc83390218daebe5ba0cc15e5d0ef4f2 gcc/lto/common.h *************** ac2a441b236321b828165bc61f84e45a gcc/mk *** 5061,5067 **** f3bb81dc9fe0c7b25dbb89202fb9fedb gcc/mode-switching.c 8b38296cb48aac7025e957d0eb2e0beb gcc/modulo-sched.c ab99ec689b35d3782d0d6c9673e8a80c gcc/multiple_target.c ! ccd6a439fb91452c64fd9ad992bf739c gcc/objc/ChangeLog 52fb9c112577eef989bc43e36f696692 gcc/objc/Make-lang.in 07963422f6222392a9f1d56d0cbc53ae gcc/objc/config-lang.in cf8e0bb9d548e2c3d720f5c4ebc5bb9c gcc/objc/lang-specs.h --- 5067,5073 ---- f3bb81dc9fe0c7b25dbb89202fb9fedb gcc/mode-switching.c 8b38296cb48aac7025e957d0eb2e0beb gcc/modulo-sched.c ab99ec689b35d3782d0d6c9673e8a80c gcc/multiple_target.c ! 9af4b62b73a477a73437b6561c08c696 gcc/objc/ChangeLog 52fb9c112577eef989bc43e36f696692 gcc/objc/Make-lang.in 07963422f6222392a9f1d56d0cbc53ae gcc/objc/config-lang.in cf8e0bb9d548e2c3d720f5c4ebc5bb9c gcc/objc/lang-specs.h *************** c14acf8a1dab7d0c2adef37ade287b05 gcc/ob *** 5080,5086 **** 796e40d4a426f2ba961cb7b03597697b gcc/objc/objc-runtime-shared-support.c cc66abe3f07d32de5c77248e82f02dbe gcc/objc/objc-runtime-shared-support.h ef63c61988d20447a799378fa1f25022 gcc/objc/objc-tree.def ! c06d11495db5fceb0bda4eb9ba403497 gcc/objcp/ChangeLog afdfeea4c2028aa5b15e0355f8cade93 gcc/objcp/Make-lang.in c74e423b803cf4446b16c17243b63e5a gcc/objcp/config-lang.in eef32d7df29581d83432d58d9cb2cd94 gcc/objcp/lang-specs.h --- 5086,5092 ---- 796e40d4a426f2ba961cb7b03597697b gcc/objc/objc-runtime-shared-support.c cc66abe3f07d32de5c77248e82f02dbe gcc/objc/objc-runtime-shared-support.h ef63c61988d20447a799378fa1f25022 gcc/objc/objc-tree.def ! 8c2f481f85631e20647f28e48d82f65a gcc/objcp/ChangeLog afdfeea4c2028aa5b15e0355f8cade93 gcc/objcp/Make-lang.in c74e423b803cf4446b16c17243b63e5a gcc/objcp/config-lang.in eef32d7df29581d83432d58d9cb2cd94 gcc/objcp/lang-specs.h *************** b8840e5f3e0b48eef202eebe67f8506d gcc/ob *** 5088,5100 **** db17a97fa0c8d9e96cf691936d987f01 gcc/objcp/objcp-decl.h 8edee735611b099133f17e56cef4dc46 gcc/objcp/objcp-lang.c b4f4aff7ed47834bd4bfcf2dfba20395 gcc/omp-builtins.def ! 3b84694633d6d19da1da43257461abca gcc/omp-expand.c d177ce89d1052ec1caeecdc3b6376077 gcc/omp-expand.h 101508bef954bca7004e675270e17636 gcc/omp-general.c f5c582e7b207e6818eb3ba0c0b992872 gcc/omp-general.h 8cba34fb20f0481e5ffbfb4e1694a907 gcc/omp-grid.c fc6b582c9cf11cb29fcf672e5b78c7ba gcc/omp-grid.h ! 49d286d6e25a6f01b2e647b3e185c078 gcc/omp-low.c d68f234609f652e17b2b917374726838 gcc/omp-low.h c3c2cd5ff8c4eadd8d9e432e16cf092c gcc/omp-offload.c cf7b95c9f21a4b2fa6826b529e3ce596 gcc/omp-offload.h --- 5094,5106 ---- db17a97fa0c8d9e96cf691936d987f01 gcc/objcp/objcp-decl.h 8edee735611b099133f17e56cef4dc46 gcc/objcp/objcp-lang.c b4f4aff7ed47834bd4bfcf2dfba20395 gcc/omp-builtins.def ! e0d54a683db51813f4a10e219fc087cd gcc/omp-expand.c d177ce89d1052ec1caeecdc3b6376077 gcc/omp-expand.h 101508bef954bca7004e675270e17636 gcc/omp-general.c f5c582e7b207e6818eb3ba0c0b992872 gcc/omp-general.h 8cba34fb20f0481e5ffbfb4e1694a907 gcc/omp-grid.c fc6b582c9cf11cb29fcf672e5b78c7ba gcc/omp-grid.h ! 46661f0c99229a6a7dbfda0b1b64ccad gcc/omp-low.c d68f234609f652e17b2b917374726838 gcc/omp-low.h c3c2cd5ff8c4eadd8d9e432e16cf092c gcc/omp-offload.c cf7b95c9f21a4b2fa6826b529e3ce596 gcc/omp-offload.h *************** ad27afe318db2ba35c962089be2a6753 gcc/op *** 5115,5125 **** 12965c68fb5394ce2ff713f9a02ce532 gcc/optc-gen.awk 3334035d4ed123a15511a538ff552d38 gcc/optc-save-gen.awk b36f15821f233758c3731307d8f6245f gcc/opth-gen.awk ! 2340c0f958d19559e31dfac1a767c17e gcc/opts-common.c dceccf26e9f4521217455d25b4df27b7 gcc/opts-diagnostic.h ! 74c1f8e576a2fe6428d56555a86120b1 gcc/opts-global.c ! 89d83c418d75487c37d8e1abf515ce82 gcc/opts.c ! e9a4f934677562e86087c5eeff34b2aa gcc/opts.h ff7abf43af46428f2896e4b55240035b gcc/output.h 389afec912a480acd35b8d978ee26f92 gcc/params-enum.h ba0be5f247d604afb6ee7210019c8aee gcc/params-list.h --- 5121,5131 ---- 12965c68fb5394ce2ff713f9a02ce532 gcc/optc-gen.awk 3334035d4ed123a15511a538ff552d38 gcc/optc-save-gen.awk b36f15821f233758c3731307d8f6245f gcc/opth-gen.awk ! 39c48c6db3bf6ad12a2ceac33cf9a4b1 gcc/opts-common.c dceccf26e9f4521217455d25b4df27b7 gcc/opts-diagnostic.h ! 62023174447e1a21cc36cd138c59eb03 gcc/opts-global.c ! 5053cdd3f934046225644519eb2935c7 gcc/opts.c ! f93e8648abf396fa77c25dcdd03f9869 gcc/opts.h ff7abf43af46428f2896e4b55240035b gcc/output.h 389afec912a480acd35b8d978ee26f92 gcc/params-enum.h ba0be5f247d604afb6ee7210019c8aee gcc/params-list.h *************** c2783219174c8fa71e584ddcd27d47fb gcc/pa *** 5133,5180 **** 5398ce30fca85a2ac1d00ce91b14f146 gcc/plugin.c 2746c4de7c7d517bb42a495e1dd8740d gcc/plugin.def 6940e44bf30362e059cceb844a043e4f gcc/plugin.h ! be7ef87e9f76449206a156f86b1d8de7 gcc/po/ChangeLog 28b130f4b67c51e48b2b431b12ee9bc3 gcc/po/EXCLUDES ! cffb7aa3db483c9f151a7d2e61823f9d gcc/po/be.gmo ! 232312ec65e3c306083d03219b9eb634 gcc/po/be.po ! a8444adb8bfead65921f7fa79d0188f6 gcc/po/da.gmo ! ef985d0cd40518727d3a48bbf69babaf gcc/po/da.po ! bac2309b309d1682778ee7752d34c5ee gcc/po/de.gmo ! e00daf955e16a41f93a8334c9cff452c gcc/po/de.po ! 427bde0b856fb7ed2650fa6abba70bee gcc/po/el.gmo ! 9654640452916b14786a9cce67252dad gcc/po/el.po ! 36e740733f54711922d51beb0c4bfad4 gcc/po/es.gmo ! 0684d8515691b6bd8f9d20fdf095253a gcc/po/es.po 806334e97e5115b06b067f08ccb1b004 gcc/po/exgettext ! 66050601b3e84e56d01020073bf0910d gcc/po/fi.gmo ! 31a5e53ae00089b8f12f42e6051ed8a6 gcc/po/fi.po ! f16b1d2429be5504538c16765163a9b4 gcc/po/fr.gmo ! fddb42f5a522fb3c7d38778f1d95e378 gcc/po/fr.po c1aa601f2783d6074092c3f46094b9c5 gcc/po/gcc.pot ! 325e67320b9b44494ca963c08d70aa87 gcc/po/hr.gmo ! 76b4ad1bb8c03c4f77981f66db1041c2 gcc/po/hr.po ! 0ad9e908fa3b920849670c6500016c4e gcc/po/id.gmo ! d549a66a762642f3a76c0be10ae9821d gcc/po/id.po ! d26b8feaa10bd97e09fe6aa7dbfad9f3 gcc/po/ja.gmo ! 3b7effe896af7530814f043c0000b386 gcc/po/ja.po ! 44c783581c878af4025948e4f4485304 gcc/po/nl.gmo ! 281e06e2b6d19473a9f1217b3b4170cb gcc/po/nl.po ! 3b73207a63deecc8ff1d596247b2d480 gcc/po/ru.gmo ! bcdc645ca66a226d22f29c373324ee9c gcc/po/ru.po ! 273a782d7a8c8430d3cdf8c19561aa52 gcc/po/sr.gmo ! 4faff0f3d03029e3ffa3bdd712c1622b gcc/po/sr.po ! 81faaff0faf114a24e3605448addaab4 gcc/po/sv.gmo ! 7fcd85864c85202911c68f957a7c14df gcc/po/sv.po ! 584e8b975575dcd53b32de585da0dbc2 gcc/po/tr.gmo ! 82906f19c611427dbef4345ec368aa5a gcc/po/tr.po ! 87931983d740d365620001a2d5192ab0 gcc/po/uk.gmo ! e2a15bdd6c0bf94277b0dcf281831136 gcc/po/uk.po ! 6cf1c1c9b57b613a45b1b0a3f0f8771d gcc/po/vi.gmo ! 7421fb5ba0fbfe3583924e0ed924ad4f gcc/po/vi.po ! bc5b2e04d840b7b8fc95f1c79c958222 gcc/po/zh_CN.gmo ! 749142ac30e47edc3c0054c7649f5b5c gcc/po/zh_CN.po ! a097772ba27a62e2ed748be9783eb29e gcc/po/zh_TW.gmo ! a3299d82fc43f6bb981a0a619d2f1a21 gcc/po/zh_TW.po 6b8cad60cb1fe8062b27293ab5fe96dc gcc/postreload-gcse.c 86e3fd69c9d87ec0c4e3ead4ad133f18 gcc/postreload.c f9baabdb7cb7fec90597eb9230423bfd gcc/predict.c --- 5139,5186 ---- 5398ce30fca85a2ac1d00ce91b14f146 gcc/plugin.c 2746c4de7c7d517bb42a495e1dd8740d gcc/plugin.def 6940e44bf30362e059cceb844a043e4f gcc/plugin.h ! bd49c356e94296a6428a36707f9267e1 gcc/po/ChangeLog 28b130f4b67c51e48b2b431b12ee9bc3 gcc/po/EXCLUDES ! 91c634ac61c253e979dd99a24560ca02 gcc/po/be.gmo ! 77877776122e6719ab1d793423a871c2 gcc/po/be.po ! 359b556d24b21490ee05965a7e823437 gcc/po/da.gmo ! 2455b468eb37e9436e304ae064c08aa0 gcc/po/da.po ! 5eb9acdb9d72e07d1d4659550f9bd159 gcc/po/de.gmo ! f0e09d057f27e39989acbe88dabfc253 gcc/po/de.po ! 7ac8fd6f5dd2c2db80d9b6588e1ed3f9 gcc/po/el.gmo ! 2e88553cbb8c03fb37d5e502341ed385 gcc/po/el.po ! b43aa6df8840a5e395232d6944083730 gcc/po/es.gmo ! dd2c79fe2c0478eaa91c2333386d6123 gcc/po/es.po 806334e97e5115b06b067f08ccb1b004 gcc/po/exgettext ! 015ee7ea3ad9c1ae351beb87d2a746f2 gcc/po/fi.gmo ! 87885e32d117107407b101f4d77dcdb6 gcc/po/fi.po ! ffd97c5c88301759ccc7bc1f1c2f723e gcc/po/fr.gmo ! d9e8dc4f2aafa16f3a80e6e5a3fea6ec gcc/po/fr.po c1aa601f2783d6074092c3f46094b9c5 gcc/po/gcc.pot ! b389782c5ba437b31d5aeed0686a05d0 gcc/po/hr.gmo ! c4ae2890c80fc8b7c929cf16de6f4a18 gcc/po/hr.po ! 2f02c0a89d9d97b72ca97dccba78f051 gcc/po/id.gmo ! b7f7722dce7ec9f021d98dcf554ec32c gcc/po/id.po ! 43fec322e950e76cdf0c265a78f795f8 gcc/po/ja.gmo ! 118f044512348f46866d0520a9b98403 gcc/po/ja.po ! 1d4fee09161a32e8aa70d4f589d881f4 gcc/po/nl.gmo ! e3ed47180506e0fb9ac3840b429d0346 gcc/po/nl.po ! de34b170b65270c97a1adc3f8ec08f14 gcc/po/ru.gmo ! d844bbe4ab351826c4a68c294faecabe gcc/po/ru.po ! 5542dada2f9d457b56ab7d53897db960 gcc/po/sr.gmo ! c710d0d0812006b44d571cda66daee59 gcc/po/sr.po ! 576c1b54569f5a873cd0262712ff25e3 gcc/po/sv.gmo ! 057cedffa9a48645c9a0716f0532a779 gcc/po/sv.po ! 9f7f762cb3e90204899d29e661f2406a gcc/po/tr.gmo ! e05d71635487b21d555b08d29de818b1 gcc/po/tr.po ! cf1572d9b957ce6e70cfcc68b8f8bdec gcc/po/uk.gmo ! 2d32daa2a4ad63bb20a62d5a23addf48 gcc/po/uk.po ! 8fc176d0b7f819e398f0f5a1cf60eb14 gcc/po/vi.gmo ! 0a4cb43fb26f5f6afbca86754ddadd4e gcc/po/vi.po ! 5d0e4526b5fc27c392702e95ccf1f2d7 gcc/po/zh_CN.gmo ! 4c7d7bd1d8d5b2cd6b3ceb46981586b8 gcc/po/zh_CN.po ! e23be30f66a4902142705d4f6878186b gcc/po/zh_TW.gmo ! 52a27ef0e59cfb3c35b7bd1d684f3c62 gcc/po/zh_TW.po 6b8cad60cb1fe8062b27293ab5fe96dc gcc/postreload-gcse.c 86e3fd69c9d87ec0c4e3ead4ad133f18 gcc/postreload.c f9baabdb7cb7fec90597eb9230423bfd gcc/predict.c *************** e5e2181512a71e96d67d33f0be142e54 gcc/pr *** 5185,5191 **** b5a9532603997e731258aaada1c88050 gcc/pretty-print.c 96fbf61f2f5e5a70f02560c43eb6eb88 gcc/pretty-print.h da338ecccc33ef3e06cedd48f44c2a84 gcc/print-rtl-function.c ! a6038ae3e5b661b31aa8a9e53fdb05ab gcc/print-rtl.c 8703a655732a51bf3ff12eb1be5c9f0a gcc/print-rtl.h 7b48bba535b920b2f8bd22d2ea83902e gcc/print-tree.c ccf6fbbf65df8c9ba959fc9a65477f38 gcc/print-tree.h --- 5191,5197 ---- b5a9532603997e731258aaada1c88050 gcc/pretty-print.c 96fbf61f2f5e5a70f02560c43eb6eb88 gcc/pretty-print.h da338ecccc33ef3e06cedd48f44c2a84 gcc/print-rtl-function.c ! 57fa240f2ce7c5a06a70bd97b1e66346 gcc/print-rtl.c 8703a655732a51bf3ff12eb1be5c9f0a gcc/print-rtl.h 7b48bba535b920b2f8bd22d2ea83902e gcc/print-tree.c ccf6fbbf65df8c9ba959fc9a65477f38 gcc/print-tree.h *************** d2bb5073ea343a1ae4939771412b63e0 gcc/rt *** 5228,5234 **** 908701aba46db9a1a44393e99d07c6e6 gcc/rtl.c 7e78287e5749d4be4bc0c862b05f140c gcc/rtl.def 76922ec0c9f43addece65e6d4a7a893f gcc/rtl.h ! 65566c7808baf1b4af295c019530ab0c gcc/rtlanal.c 5c77db4ff466d7c8384d3007c09e56d0 gcc/rtlhash.c cb5fb683f24857f0ab9551a7e86100f2 gcc/rtlhash.h f541ab154aeea10a302aeac4bb8a22b1 gcc/rtlhooks-def.h --- 5234,5240 ---- 908701aba46db9a1a44393e99d07c6e6 gcc/rtl.c 7e78287e5749d4be4bc0c862b05f140c gcc/rtl.def 76922ec0c9f43addece65e6d4a7a893f gcc/rtl.h ! 8ac8532996718d2160c5f3629a192f1c gcc/rtlanal.c 5c77db4ff466d7c8384d3007c09e56d0 gcc/rtlhash.c cb5fb683f24857f0ab9551a7e86100f2 gcc/rtlhash.h f541ab154aeea10a302aeac4bb8a22b1 gcc/rtlhooks-def.h *************** a05a444f8043177dc60812bbde449eda gcc/ta *** 5302,5308 **** 130ded7300d8bd75644b06dd136911c9 gcc/targhooks.c 0aab1bb3e79d26285582376c20aeb077 gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! 7b0b7d0058371292d5aba6251e70de35 gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 --- 5308,5314 ---- 130ded7300d8bd75644b06dd136911c9 gcc/targhooks.c 0aab1bb3e79d26285582376c20aeb077 gcc/targhooks.h f39fcaa8197187283ccfed40107b426d gcc/testsuite/.gitattributes ! 3e7a5fb2136327be4ac63f0bbf054046 gcc/testsuite/ChangeLog 862f04afbd87da2cc6bc432c3f28430f gcc/testsuite/ChangeLog-1993-2007 029a5d8dacd25eb5d4711452ac448e5b gcc/testsuite/ChangeLog-2008 13ac28c41d51b66b4ec40dba6bd50f39 gcc/testsuite/ChangeLog-2009 *************** ec450dea19e4d8bdd513fcf03b8610a9 gcc/te *** 8421,8426 **** --- 8427,8433 ---- bb50610ee429c9597dbc214b97c58267 gcc/testsuite/c-c++-common/dump-ada-spec-5.c b402d83321951214957997b5dc7304fe gcc/testsuite/c-c++-common/dump-ada-spec-6.c 022f27c0791fa6cda422c4471a77b995 gcc/testsuite/c-c++-common/dwarf2/pr43190.c + ec4d1b894c02e9b5b427541048ae2fae gcc/testsuite/c-c++-common/dwarf2/pr83550.c 97429dd130e2a831a3f5643ed92516ef gcc/testsuite/c-c++-common/dwarf2/vla1.c 47ae62c911af83398df67c85719b8fe3 gcc/testsuite/c-c++-common/fmax-errors.c f4eb480d84c0d74ec37a6a42e4f034f6 gcc/testsuite/c-c++-common/fold-bitand-4.c *************** ce91ea7c46f421a0b712ff52ee4f9985 gcc/te *** 8770,8775 **** --- 8777,8785 ---- ee387176acb2650d09f446c7722b79b9 gcc/testsuite/c-c++-common/pr80162-1.c 646c34a9fbef614941550b581b975534 gcc/testsuite/c-c++-common/pr80162-2.c 419f389745d95caa13ce51a02e5a2abf gcc/testsuite/c-c++-common/pr80162-3.c + 23a387907d550f4d99b8e38b9154c710 gcc/testsuite/c-c++-common/pr81052.c + 29c7ff6eb5caca1dd6391410ce6c69e4 gcc/testsuite/c-c++-common/pr82112.c + 21015038ab7179791a8c873570bdcb3c gcc/testsuite/c-c++-common/pr83059.c b0ba836310044e7b419ef679f0b48d6f gcc/testsuite/c-c++-common/raw-string-1.c 554e7071d2525351de28445762633866 gcc/testsuite/c-c++-common/raw-string-10.c fc54e7227094f307fa566b3a8cd0ba9a gcc/testsuite/c-c++-common/raw-string-11.c *************** d6a020309f3771e59e357ca318d8b648 gcc/te *** 8901,8906 **** --- 8911,8917 ---- 37c45d19e758a295e9fc42c0313b33d5 gcc/testsuite/c-c++-common/torture/pr71261.c 98b9e5efd75f8d7411aa7620d489399f gcc/testsuite/c-c++-common/torture/pr77544.c 3ff9da542bfec1dd8c51f3260ffc51db gcc/testsuite/c-c++-common/torture/pr79731.c + 575b9ac121d105d972c0a1d0cc759e1e gcc/testsuite/c-c++-common/torture/pr83553.c fdeec1e5ecb339bf68961fab033b606e gcc/testsuite/c-c++-common/torture/vector-compare-1.c e098360b3686787abea6589b13d9e806 gcc/testsuite/c-c++-common/torture/vector-compare-2.c 26c13a49130d1f2d291bea112073585f gcc/testsuite/c-c++-common/torture/vector-shift.c *************** e421ddf2d69b41e79c4238d86ca23e02 gcc/te *** 8992,8998 **** 701ee447bdcb3bdd63f4e19e0aa275c7 gcc/testsuite/c-c++-common/ubsan/div-by-zero-5.c f1d5ba00cab5b6e91752dc500c497bad gcc/testsuite/c-c++-common/ubsan/div-by-zero-6.c be42c7c0119ada6c8b75859883b7947d gcc/testsuite/c-c++-common/ubsan/div-by-zero-7.c ! eb238d1dcc8f0f542f985153d56ddefa gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c c85488cb77ea23f35746344adcda5a8b gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-10.c b089faa4c8cfdb57b56ef700c240d0a9 gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c 32890d6e68882ccf1b8ee07e61d91f10 gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-3.c --- 9003,9009 ---- 701ee447bdcb3bdd63f4e19e0aa275c7 gcc/testsuite/c-c++-common/ubsan/div-by-zero-5.c f1d5ba00cab5b6e91752dc500c497bad gcc/testsuite/c-c++-common/ubsan/div-by-zero-6.c be42c7c0119ada6c8b75859883b7947d gcc/testsuite/c-c++-common/ubsan/div-by-zero-7.c ! 6726dc6b32348d286beda628454d50b9 gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c c85488cb77ea23f35746344adcda5a8b gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-10.c b089faa4c8cfdb57b56ef700c240d0a9 gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-2.c 32890d6e68882ccf1b8ee07e61d91f10 gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-3.c *************** e4685fe961dc8035bb3aeb035964e128 gcc/te *** 9092,9097 **** --- 9103,9111 ---- e1459a9d2ab7107fd299c7de6b46f17a gcc/testsuite/c-c++-common/ubsan/pr80310.c c2f3b3be31f310c27528d1ee4cc38bb9 gcc/testsuite/c-c++-common/ubsan/pr80350.c 4977700fcf89f13d3232ebf010dfa0fd gcc/testsuite/c-c++-common/ubsan/pr80875.c + f2bcdc6534b76e8e3587a2418324e5dd gcc/testsuite/c-c++-common/ubsan/pr80932.c + fbd76d8a439d83bd798b80980de9bd48 gcc/testsuite/c-c++-common/ubsan/pr81065.c + dc1e148d3b59fe6703bb8006c184e064 gcc/testsuite/c-c++-common/ubsan/pr81088.c 02f7c7e113837b0933f7c0a1178985ca gcc/testsuite/c-c++-common/ubsan/pr81604.c dab28cca030f6a4bc8dd3c11ed677fff gcc/testsuite/c-c++-common/ubsan/recovery-1.c 5bb4d0c13ed60e4d8054523bc5e48304 gcc/testsuite/c-c++-common/ubsan/recovery-2.c *************** b4933e6257ffe7874c63bb5463f4ee98 gcc/te *** 9425,9430 **** --- 9439,9446 ---- 5ce2469706c2beff887e6cb5f8d929aa gcc/testsuite/g++.dg/asan/pr78201.C b8f9375cf24299f4663d8538c4856b28 gcc/testsuite/g++.dg/asan/pr79783.C cf71b3ff337eb4d37f2f83d7dd92b137 gcc/testsuite/g++.dg/asan/pr81021.C + 665dc0ebb74dfcb4c784209cc38aea33 gcc/testsuite/g++.dg/asan/pr81715.C + 103ce786588ede05a2ab378b3f167132 gcc/testsuite/g++.dg/asan/pr82792.C 9c127ef1a489fa3066b519905bbcd4df gcc/testsuite/g++.dg/asan/sanitizer_pthread_wrappers.h ec57ce9e20b59de0ebec29f657a688f0 gcc/testsuite/g++.dg/asan/sanitizer_test_config.h 55a37a27a50226341bc745f47d1908c5 gcc/testsuite/g++.dg/asan/sanitizer_test_utils.h *************** fc87adf1aa8763a35e80b1067faf9948 gcc/te *** 10939,10944 **** --- 10955,10961 ---- db7bc02fc98b9ea2b1ac747f9c1b93fc gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv.C 862ed5b4e67a8a0e32b42b5792ae7fff gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv10.C 522c3e9a3e7905c1f6e87fc6ce263930 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv11.C + 6ae899ba5dad4551770e52eb79fca6a8 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv12.C 299fbfde279f22ba6cf7e79d7e17f49b gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv2.C 13859d1112ce3900c792dcdc2e8ae085 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv3.C b91c55a7472ec7a8d2f35a01f04cc387 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv4.C *************** a5272f2b141b976a80585ef6cded80e8 gcc/te *** 11228,11233 **** --- 11245,11251 ---- 91777fbbf4cb10f1f75d9506659be8cc gcc/testsuite/g++.dg/cpp0x/nullptr35.C 144f3d38455ae2812361d567d48b6c4e gcc/testsuite/g++.dg/cpp0x/nullptr36.C 038bcc314ee0faed559e148dcdc87aa0 gcc/testsuite/g++.dg/cpp0x/nullptr37.C + dd2e11db6d41e95dd646b54bb5547277 gcc/testsuite/g++.dg/cpp0x/nullptr39.C 9ac544c85b4718bef7e0acbc03dd004f gcc/testsuite/g++.dg/cpp0x/overflow1.C fb7661df85ad6b415b31574c67fa4ee0 gcc/testsuite/g++.dg/cpp0x/overload-conv-1.C 5ca00ae02aa7919e0b3d9730fa9f9ac5 gcc/testsuite/g++.dg/cpp0x/overload-conv-2.C *************** cd99ffd2dd5d16ea3eda3778014b17cf gcc/te *** 11399,11404 **** --- 11417,11427 ---- d34b0013209051900b8114802ea89d6d gcc/testsuite/g++.dg/cpp0x/pr79361-1.C 082b887aa1f2c8f001a0beace0ba3331 gcc/testsuite/g++.dg/cpp0x/pr79361-2.C a5009c71493536f14c34f935f9b9d0a3 gcc/testsuite/g++.dg/cpp0x/pr79457.C + 0b13b84af448e02075acf50ed59b222c gcc/testsuite/g++.dg/cpp0x/pr80259.C + 56dff682c68971fd9a5e4c2cbca5e8db gcc/testsuite/g++.dg/cpp0x/pr81325.C + b0aef9b4e29c1c639c49513dd20eddaa gcc/testsuite/g++.dg/cpp0x/pr82299.C + 5b2b43024e2826cfb8352cc9a3af7a5c gcc/testsuite/g++.dg/cpp0x/pr82560.C + 22640f58e38b3f775918e32eb89ae1c5 gcc/testsuite/g++.dg/cpp0x/pr83556.C 53428f69a6d0153074c9b06ee9fbe9e7 gcc/testsuite/g++.dg/cpp0x/ptrmem-cst-arg1.C 6e8e648c26d9bf237cc152180e88c2c2 gcc/testsuite/g++.dg/cpp0x/range-for1.C 5c7a98d8ca2f0f427c081bf6902aa831 gcc/testsuite/g++.dg/cpp0x/range-for10.C *************** dde7a4f94fd2f85ccf0ba3cc25781017 gcc/te *** 11815,11820 **** --- 11838,11844 ---- d3fd316df69021643c9c08dc4c093e40 gcc/testsuite/g++.dg/cpp0x/variadic168.C a28c1ab6cd8292afea0a610ae4fdedcf gcc/testsuite/g++.dg/cpp0x/variadic169.C 3bff3422f4558e688cb85c201d29da39 gcc/testsuite/g++.dg/cpp0x/variadic17.C + c597501b32c00762874bad3052d9f18d gcc/testsuite/g++.dg/cpp0x/variadic171.C 716318ff1db2bdd640b1c6835c0659e3 gcc/testsuite/g++.dg/cpp0x/variadic18.C d07d2dff70e4403857f709c6f88dd0d9 gcc/testsuite/g++.dg/cpp0x/variadic19.C 2fa72711afa172c723554cf582b008c8 gcc/testsuite/g++.dg/cpp0x/variadic2.C *************** cfc19422b140639fdc2dc2bf7ca295b6 gcc/te *** 12011,12016 **** --- 12035,12041 ---- a704b3ce8270e6f8437ab87445750058 gcc/testsuite/g++.dg/cpp1y/constexpr-79655.C 87e6acf3f9570693090bc9744174253b gcc/testsuite/g++.dg/cpp1y/constexpr-79681-1.C c31b3bbd5d5198b87b168be79f7471eb gcc/testsuite/g++.dg/cpp1y/constexpr-79681-2.C + e4f44ba83e70dc31ae39e2b7a5451b57 gcc/testsuite/g++.dg/cpp1y/constexpr-83116.C c410a0259982426fcc8bf751139fbcd3 gcc/testsuite/g++.dg/cpp1y/constexpr-arith-overflow.C 8ca7fb9e44e526f77542eaa59593c544 gcc/testsuite/g++.dg/cpp1y/constexpr-array1.C 10c765e5671de39fd3d751b2e3a5408b gcc/testsuite/g++.dg/cpp1y/constexpr-array2.C *************** f8cacc42b6d0ee02c4ec28b4871b946c gcc/te *** 12066,12077 **** 695cc86426b24103c2a80eda00cf2189 gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C 2ccf049767734b973a90dea30576d8a8 gcc/testsuite/g++.dg/cpp1y/digit-sep.C f76edece5ff5aa3ce9cb5508f587b65c gcc/testsuite/g++.dg/cpp1y/feat-cxx11-neg.C ! e735fa157618146dcd2a0f4ef0c04e34 gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C a3ed2dff5176ed6eef5ae2d57cf13c3c gcc/testsuite/g++.dg/cpp1y/feat-cxx14-neg.C ! 218d0bab4c5f3f743412b0578848ec22 gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C 780e21a88c3826bf19ae69681b53fa5a gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C ! d9680a99825535ba499a795339ce02c2 gcc/testsuite/g++.dg/cpp1y/feat-cxx98.C ! 01260d1a223a8398c967796299932d12 gcc/testsuite/g++.dg/cpp1y/feat-neg.C 018149928d964ce66689bf4960400c07 gcc/testsuite/g++.dg/cpp1y/feat-sized-dealloc-neg.C b7edad357bb503949f49802295729019 gcc/testsuite/g++.dg/cpp1y/feat-sized-dealloc.C fc5875e8af08d0f9488344e80bf6f764 gcc/testsuite/g++.dg/cpp1y/feat-vla.C --- 12091,12102 ---- 695cc86426b24103c2a80eda00cf2189 gcc/testsuite/g++.dg/cpp1y/digit-sep-neg.C 2ccf049767734b973a90dea30576d8a8 gcc/testsuite/g++.dg/cpp1y/digit-sep.C f76edece5ff5aa3ce9cb5508f587b65c gcc/testsuite/g++.dg/cpp1y/feat-cxx11-neg.C ! 144ddec296f95158abf3660366239e78 gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C a3ed2dff5176ed6eef5ae2d57cf13c3c gcc/testsuite/g++.dg/cpp1y/feat-cxx14-neg.C ! a67b06ec09d1fe75fc3dfff582b19cac gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C 780e21a88c3826bf19ae69681b53fa5a gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C ! 6c845bae306091a0871d09eb650f7346 gcc/testsuite/g++.dg/cpp1y/feat-cxx98.C ! 8a8b78afcad658910cf21c4e9f8c087b gcc/testsuite/g++.dg/cpp1y/feat-neg.C 018149928d964ce66689bf4960400c07 gcc/testsuite/g++.dg/cpp1y/feat-sized-dealloc-neg.C b7edad357bb503949f49802295729019 gcc/testsuite/g++.dg/cpp1y/feat-sized-dealloc.C fc5875e8af08d0f9488344e80bf6f764 gcc/testsuite/g++.dg/cpp1y/feat-vla.C *************** f4be44f045dc9cb6f8b7acd5e3193c1d gcc/te *** 12082,12091 **** --- 12107,12119 ---- 5f112fcc57ff57c8e803342bde4e9c25 gcc/testsuite/g++.dg/cpp1y/lambda-deduce-mult-neg.C a5fcad1d0708a6218c6fe69c1871df02 gcc/testsuite/g++.dg/cpp1y/lambda-deduce-mult.C 583b55f04d55c9ec0ee10c8c39f1d628 gcc/testsuite/g++.dg/cpp1y/lambda-generic-77914.C + 87f3d5397981cf431912aae6490ea63a gcc/testsuite/g++.dg/cpp1y/lambda-generic-auto1.C 18a2431f49a5d003b8c4af0ee1ee26fb gcc/testsuite/g++.dg/cpp1y/lambda-generic-cfun.C 043e19917f87f2b2acd754fc6d7db469 gcc/testsuite/g++.dg/cpp1y/lambda-generic-const1.C 565bd59fb2dca8cbcfbfa5b7e1e94368 gcc/testsuite/g++.dg/cpp1y/lambda-generic-const2.C c1704c3068b9b801f6fca80634fa3d1c gcc/testsuite/g++.dg/cpp1y/lambda-generic-const3.C + 8b8abbef301e37ea9718834ddb4c32ec gcc/testsuite/g++.dg/cpp1y/lambda-generic-const4.C + 6e8fc19c227503a364053713d7456972 gcc/testsuite/g++.dg/cpp1y/lambda-generic-const5.C 2e80b291e01a2cfa45ff49e595eefeb5 gcc/testsuite/g++.dg/cpp1y/lambda-generic-conv1.C 4826d92e5c4d99fa506ff2e846ff01a4 gcc/testsuite/g++.dg/cpp1y/lambda-generic-conv2.C 78cdb2dc3c8d671d96c375fa61f96dc5 gcc/testsuite/g++.dg/cpp1y/lambda-generic-conv3.C *************** a72b2bd09fb408a27f64449e8b8d9040 gcc/te *** 12098,12103 **** --- 12126,12133 ---- a5e1f08b66165b58419bbab37da9a962 gcc/testsuite/g++.dg/cpp1y/lambda-generic-mixed.C db3760d317d0220aeddc9a1ce4072105 gcc/testsuite/g++.dg/cpp1y/lambda-generic-static1.C c6cfff44332b8bfb7c52ace4e1af76c5 gcc/testsuite/g++.dg/cpp1y/lambda-generic-static2.C + 47327f13bcf8bd47595b03a1a51d80b1 gcc/testsuite/g++.dg/cpp1y/lambda-generic-this1.C + 714b0ec0672f03bb83435eb7e8946993 gcc/testsuite/g++.dg/cpp1y/lambda-generic-this1a.C 06ba6684e3759115ec5098f38667687b gcc/testsuite/g++.dg/cpp1y/lambda-generic-trailing1.C e947551033232c5abe95cce5adfd22aa gcc/testsuite/g++.dg/cpp1y/lambda-generic-udt.C 7515a5372d247dd5a94ef0626c25c2ae gcc/testsuite/g++.dg/cpp1y/lambda-generic-uneval1.C *************** c008d1c5e0d0e13a914b30aa87836359 gcc/te *** 12225,12230 **** --- 12255,12261 ---- e498e8a1a8fb8d59ced1bf84781af0c9 gcc/testsuite/g++.dg/cpp1y/pr79393.C 78f7b6310d849e70f4c919b5ac315cb8 gcc/testsuite/g++.dg/cpp1y/pr79435.C 9b667c9d516823999474daebc2f8ea26 gcc/testsuite/g++.dg/cpp1y/pr79463.C + d7dcd3f45ee6c394c4e684f054bf67ae gcc/testsuite/g++.dg/cpp1y/pr82373.C ac3a3cc471361b1fc9f3e55ad12dd7a8 gcc/testsuite/g++.dg/cpp1y/regress1.C 9a759de4b7ac375d3c274acdf73c4fbe gcc/testsuite/g++.dg/cpp1y/sized-dealloc1.C aeb199bf9a897359b6d538b5bce4e5ef gcc/testsuite/g++.dg/cpp1y/sized-dealloc2.C *************** ffde32febe1810ce3df7e034c7d427c5 gcc/te *** 12292,12297 **** --- 12323,12329 ---- 8bf64fa25ea751fc3a077004fefa3e3b gcc/testsuite/g++.dg/cpp1y/var-templ53.C 9008b4693cb1fe4b406e549765a2cc71 gcc/testsuite/g++.dg/cpp1y/var-templ54.C f47aed01d0a8d51c841d31adce366f2f gcc/testsuite/g++.dg/cpp1y/var-templ55.C + 62a40ed13d8ec5a53669a5c03be0d97a gcc/testsuite/g++.dg/cpp1y/var-templ56.C 46f96806c3f041172407dd6ff7943dc8 gcc/testsuite/g++.dg/cpp1y/var-templ6.C 3c670164f1a7f8f91ef1db2f80526182 gcc/testsuite/g++.dg/cpp1y/var-templ7.C 7490ba7f2bf9511118a48f52e8c4ceed gcc/testsuite/g++.dg/cpp1y/var-templ8.C *************** ca10f046e47ea09ba5b87084372f1ce2 gcc/te *** 12323,12328 **** --- 12355,12361 ---- 15779dfebe4d18986ed2044d4ec8287b gcc/testsuite/g++.dg/cpp1z/aligned-new5.C 4dbddfffb31fb9d4ab9b40b6ac489d84 gcc/testsuite/g++.dg/cpp1z/aligned-new6.C 1957f865b2d8e66095269c8639342132 gcc/testsuite/g++.dg/cpp1z/aligned-new7.C + ff30eadf611dec50050d08bb1852fd65 gcc/testsuite/g++.dg/cpp1z/aligned-new8.C 68f716938002307e7dcda9d5dc357f14 gcc/testsuite/g++.dg/cpp1z/attributes-enum-1.C c0f76eabaeee19f702ca129c32355700 gcc/testsuite/g++.dg/cpp1z/attributes-enum-1a.C 124fb3a84a8213bf4c06abdb4d0fddeb gcc/testsuite/g++.dg/cpp1z/bool-increment1.C *************** c1ef33459902e42cd165b7eb63d19fe6 gcc/te *** 12384,12389 **** --- 12417,12423 ---- ff76ead5dbe779d603923b1aa5d1b43c gcc/testsuite/g++.dg/cpp1z/constexpr-lambda13.C c249422d923bfc189a9579b50b33bfe4 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda14.C 491235f42bd798b8e3c60fb2eccf6388 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda15.C + 5e07a7746510ad907fa95618828e141b gcc/testsuite/g++.dg/cpp1z/constexpr-lambda16.C 03a8e9063346531269a71975339c3f32 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda2.C f890981653d131fc0b72c0309a9a22a2 gcc/testsuite/g++.dg/cpp1z/constexpr-lambda3.C cdc6495b4d03cc385cdccc46ec2c57ea gcc/testsuite/g++.dg/cpp1z/constexpr-lambda4.C *************** efbbb53ecbb605f5a50202d0813f9d89 gcc/te *** 12396,12402 **** 7d7a3a96969595696f9ac8a41581e13f gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C 5a342aee9595ee7e0002406be439a897 gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C 0907046abd4eeb3337565765eec941bf gcc/testsuite/g++.dg/cpp1z/decomp1.C ! 302827a387eda6fd0a94a812c0485cdf gcc/testsuite/g++.dg/cpp1z/decomp10.C 57f93ca9cbdea95f7230f5a5e0f0c972 gcc/testsuite/g++.dg/cpp1z/decomp11.C eb8f6f6cb3f16d3b3e4fd69222e115dc gcc/testsuite/g++.dg/cpp1z/decomp12.C 2c966c0ab01d199b88a37c9e6ff47082 gcc/testsuite/g++.dg/cpp1z/decomp13.C --- 12430,12436 ---- 7d7a3a96969595696f9ac8a41581e13f gcc/testsuite/g++.dg/cpp1z/decomp-bitfield1.C 5a342aee9595ee7e0002406be439a897 gcc/testsuite/g++.dg/cpp1z/decomp-constexpr1.C 0907046abd4eeb3337565765eec941bf gcc/testsuite/g++.dg/cpp1z/decomp1.C ! 31250390e49779e31cbb8ea9125a2de9 gcc/testsuite/g++.dg/cpp1z/decomp10.C 57f93ca9cbdea95f7230f5a5e0f0c972 gcc/testsuite/g++.dg/cpp1z/decomp11.C eb8f6f6cb3f16d3b3e4fd69222e115dc gcc/testsuite/g++.dg/cpp1z/decomp12.C 2c966c0ab01d199b88a37c9e6ff47082 gcc/testsuite/g++.dg/cpp1z/decomp13.C *************** c2d751bdf7b136ae17e81690ac97ed59 gcc/te *** 12416,12423 **** 7580a0d414ed44475e618679c3d78713 gcc/testsuite/g++.dg/cpp1z/decomp26.C 83b44fd4caa3ffe9b3888fdd7e2e6951 gcc/testsuite/g++.dg/cpp1z/decomp27.C fc5576294193885316afcf14620177fb gcc/testsuite/g++.dg/cpp1z/decomp28.C ! 3f8b44d2c5a2b61e5533ee502f424448 gcc/testsuite/g++.dg/cpp1z/decomp3.C ! bace2b5e00216df98e461fc78c90e355 gcc/testsuite/g++.dg/cpp1z/decomp30.C 3d58d019b7f76fa2253655658f40d9d6 gcc/testsuite/g++.dg/cpp1z/decomp4.C f98a9feae4ead80bf6fea589d0978072 gcc/testsuite/g++.dg/cpp1z/decomp5.C 94932c496662eac8e1fca1974af2185e gcc/testsuite/g++.dg/cpp1z/decomp6.C --- 12450,12461 ---- 7580a0d414ed44475e618679c3d78713 gcc/testsuite/g++.dg/cpp1z/decomp26.C 83b44fd4caa3ffe9b3888fdd7e2e6951 gcc/testsuite/g++.dg/cpp1z/decomp27.C fc5576294193885316afcf14620177fb gcc/testsuite/g++.dg/cpp1z/decomp28.C ! 92d23ab351de03cd847e2aad1f190207 gcc/testsuite/g++.dg/cpp1z/decomp3.C ! c86c55c9032280f9cfb72b179e788a3b gcc/testsuite/g++.dg/cpp1z/decomp30.C ! d1091dea4099fea8102a725df71218b5 gcc/testsuite/g++.dg/cpp1z/decomp31.C ! 91635ccf848dc8ca3989cfc2ddc2b4ef gcc/testsuite/g++.dg/cpp1z/decomp32.C ! 181a153149999adbeb8f1bf93ee23049 gcc/testsuite/g++.dg/cpp1z/decomp33.C ! f79ee70d40dffe40ad6203cc06b4e714 gcc/testsuite/g++.dg/cpp1z/decomp34.C 3d58d019b7f76fa2253655658f40d9d6 gcc/testsuite/g++.dg/cpp1z/decomp4.C f98a9feae4ead80bf6fea589d0978072 gcc/testsuite/g++.dg/cpp1z/decomp5.C 94932c496662eac8e1fca1974af2185e gcc/testsuite/g++.dg/cpp1z/decomp6.C *************** f387d749fd22d2b2a196632ba393e6f8 gcc/te *** 12431,12437 **** cdeec54a27247a22e5efa65e70d7de00 gcc/testsuite/g++.dg/cpp1z/eval-order3.C 6d8d378fedaf65b4cb89952060799280 gcc/testsuite/g++.dg/cpp1z/eval-order4.C 794ee250f2c5b1f7f592eb1c6095ba9e gcc/testsuite/g++.dg/cpp1z/fallthrough1.C ! 754af52704c407eceef0611317650fb6 gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C f6bf72fc22cf2e0b2625b0da029798a4 gcc/testsuite/g++.dg/cpp1z/fold-ice1.C 5bd148af998c8fa056675b86fcbceddf gcc/testsuite/g++.dg/cpp1z/fold-mangle.C 31887e84574fe8c28417b43ab6292361 gcc/testsuite/g++.dg/cpp1z/fold1.C --- 12469,12475 ---- cdeec54a27247a22e5efa65e70d7de00 gcc/testsuite/g++.dg/cpp1z/eval-order3.C 6d8d378fedaf65b4cb89952060799280 gcc/testsuite/g++.dg/cpp1z/eval-order4.C 794ee250f2c5b1f7f592eb1c6095ba9e gcc/testsuite/g++.dg/cpp1z/fallthrough1.C ! c1e2f8558bb2ecb4f797f51488d5dc75 gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C f6bf72fc22cf2e0b2625b0da029798a4 gcc/testsuite/g++.dg/cpp1z/fold-ice1.C 5bd148af998c8fa056675b86fcbceddf gcc/testsuite/g++.dg/cpp1z/fold-mangle.C 31887e84574fe8c28417b43ab6292361 gcc/testsuite/g++.dg/cpp1z/fold1.C *************** d986891cdcec1b4f21ef2a3a1c8a75fb gcc/te *** 12480,12485 **** --- 12518,12524 ---- 0e78f877b2403a6e51ebb111e491464f gcc/testsuite/g++.dg/cpp1z/inline-var1a.C 606b3991d450b3a2b2c4b84694446b2e gcc/testsuite/g++.dg/cpp1z/inline-var2.C e087f098ba0891b5b8c20970b5e1f9a3 gcc/testsuite/g++.dg/cpp1z/inline-var3.C + 0e7def4e0e7458614022b79a25311135 gcc/testsuite/g++.dg/cpp1z/lambda-inherit1.C 61e377cc1c9c09c3b465bffd64cf0d3f gcc/testsuite/g++.dg/cpp1z/lambda-this1.C 609eb26dcf3d0a8892bb6850060fed51 gcc/testsuite/g++.dg/cpp1z/lambda-this2.C 3ea0673f11a85bc82c752fdebff48865 gcc/testsuite/g++.dg/cpp1z/lambda-this3.C *************** ca82508c6b0812efd86161c2593edc37 gcc/te *** 12521,12526 **** --- 12560,12566 ---- d5dd733c77f5f8286892d69dbc47be6e gcc/testsuite/g++.dg/cpp1z/noexcept-type9.C 98b99e11c5307773ec9a5a8e6c317678 gcc/testsuite/g++.dg/cpp1z/nontype-auto1.C 72447efb2979475911485537f504946a gcc/testsuite/g++.dg/cpp1z/nontype-auto10.C + dc0a0df7a781ac72bdcb6003f2c5b858 gcc/testsuite/g++.dg/cpp1z/nontype-auto13.C 21927ecccf6ef113fcd58fd210e003e4 gcc/testsuite/g++.dg/cpp1z/nontype-auto2.C 80d9719881e2d887fc9152bb464e018e gcc/testsuite/g++.dg/cpp1z/nontype-auto3.C e6dd33b060958f261700bebd2d6042c0 gcc/testsuite/g++.dg/cpp1z/nontype-auto4.C *************** ce4ff2095f5aadd1429d75f9964e3068 gcc/te *** 13054,13059 **** --- 13094,13100 ---- 05aa93a27032c47400c1728d165f6aeb gcc/testsuite/g++.dg/ext/altivec-15.C 1f347fa1c57370132e750e4fb8b77f9d gcc/testsuite/g++.dg/ext/altivec-16.C e7b8730e35adae22637664edfdba084d gcc/testsuite/g++.dg/ext/altivec-17.C + 4c612ecdb73822d456d417a307c5969e gcc/testsuite/g++.dg/ext/altivec-18.C 0d2b8f9e1b8506c8de6da887d8b08add gcc/testsuite/g++.dg/ext/altivec-2.C d3261ef497bef041056bc7661e3a3686 gcc/testsuite/g++.dg/ext/altivec-3.C 4f6acab6c14678a58ab3251c4c5a0ce1 gcc/testsuite/g++.dg/ext/altivec-4.C *************** fc191c8337e77232a243ff44298f4d6b gcc/te *** 13179,13184 **** --- 13220,13226 ---- af25a0593501f973025a5ff65b1951fd gcc/testsuite/g++.dg/ext/attrib51.C 6136f2f1b69139124690d5ee0b4696f9 gcc/testsuite/g++.dg/ext/attrib52.C d5961701242d16e54b0c0b02ea93c28f gcc/testsuite/g++.dg/ext/attrib53.C + cd699f5674b89b0d8312893e0921e784 gcc/testsuite/g++.dg/ext/attrib54.C 76284b29c6fce52f56ddbcc04acd3a97 gcc/testsuite/g++.dg/ext/attrib6.C 7af1e9265de26187b4a3a3880f99ac11 gcc/testsuite/g++.dg/ext/attrib7.C 23c4a640241391acec5a1fd2c3fa5f25 gcc/testsuite/g++.dg/ext/attrib8.C *************** e710a424682710a7b643aeb0875d892d gcc/te *** 13262,13267 **** --- 13304,13310 ---- 03aa93fc2e77be0f240d8cb0b1d19cb7 gcc/testsuite/g++.dg/ext/complit9.C cfb1e3d3e6cedd5cd651ea51248b3822 gcc/testsuite/g++.dg/ext/cond1.C b619a632f099ce3dab4b1867824fb8ba gcc/testsuite/g++.dg/ext/cond2.C + 6f06936a70e143d2d4010948b821e19a gcc/testsuite/g++.dg/ext/constexpr-pr82781.C e2d0f79e10c42a058fadb33dbc7e385e gcc/testsuite/g++.dg/ext/constexpr-vla1.C 62632ebe8674e206cc6d2b853b566885 gcc/testsuite/g++.dg/ext/constexpr-vla2.C 683cd918ca0fceda3fa2547d2b8f259b gcc/testsuite/g++.dg/ext/constexpr-vla3.C *************** c1bb308a38a9b8c340a48b9783fb6cf5 gcc/te *** 13619,13624 **** --- 13662,13668 ---- 3da578ea7fb89ed9d7d870cd2355c8a1 gcc/testsuite/g++.dg/ext/va-arg-pack-len-2.C be5f35b51bfbfb360923dc0be613c0d6 gcc/testsuite/g++.dg/ext/va-arg1.C 9a67b6d7123746e352d5f53790aa0eab gcc/testsuite/g++.dg/ext/varargs1.C + 4a47ac5d076badd7827140dc7bc059a0 gcc/testsuite/g++.dg/ext/varargs2.C 1e6ab4b0a8dd095b526fad3f97ec5a91 gcc/testsuite/g++.dg/ext/vector1.C 57968f25892a26e6c8c805a0122dda46 gcc/testsuite/g++.dg/ext/vector10.C 86631ce973fe08bf3f9ad84e595fb594 gcc/testsuite/g++.dg/ext/vector11.C *************** e424c53c944d537627fb575a38b9d337 gcc/te *** 14629,14634 **** --- 14673,14681 ---- 5d5f3f917e9a4e2fa641676d7142698c gcc/testsuite/g++.dg/ipa/pr79776.C c5be5b54243f6264bf84d49d4a16947c gcc/testsuite/g++.dg/ipa/pr79931.C 89f95e75e402e5135147f26252be06e5 gcc/testsuite/g++.dg/ipa/pr80205.C + e9a3cd760e81664690da407f52b34364 gcc/testsuite/g++.dg/ipa/pr82352.C + 05592a0935fec817a7688eb12baa50c2 gcc/testsuite/g++.dg/ipa/pr82801.C + a6ea68da40fdbc3c5627d8fd52058c74 gcc/testsuite/g++.dg/ipa/pr83549.C 33a70012ed132fa7937f4953a4dc0f17 gcc/testsuite/g++.dg/ipa/pure-const-1.C c5bddc0233cbf24a8f75d96eb5685658 gcc/testsuite/g++.dg/ipa/pure-const-2.C b98de12e73f586f35f30ed6bf46a1463 gcc/testsuite/g++.dg/ipa/pure-const-3.C *************** c96eb51fa2b7024612260c2b5bf7e61e gcc/te *** 15068,15073 **** --- 15115,15121 ---- 43155753aa80a487513ef808cb357408 gcc/testsuite/g++.dg/lto/pr69589_0.C 028ec5371a2f90aff6959986ad96b4a2 gcc/testsuite/g++.dg/lto/pr69589_1.C 6b7544922085b3acc5747d6df94b222d gcc/testsuite/g++.dg/lto/pr69729_0.C + 05cf05186c134f22e9638fd8e1d67123 gcc/testsuite/g++.dg/lto/pr70029_0.C b972d1fd05b76ae528924efc5e87e1e0 gcc/testsuite/g++.dg/lto/pr78472_0.c e2b3ea5caae8976b182bb721752f096a gcc/testsuite/g++.dg/lto/pr78472_1.C 0df24ac62f068ffd5beed7036417ff2a gcc/testsuite/g++.dg/lto/pr79000_0.C *************** cbabc80851a14f5ce9acf898d69e0c56 gcc/te *** 15076,15081 **** --- 15124,15130 ---- 4bbc885712e742abd4ad37dc45dcaa4f gcc/testsuite/g++.dg/lto/pr79671_0.C 2b83a5f8260536dd9d7e43db9852168b gcc/testsuite/g++.dg/lto/pr79671_1.c e818718060d8a56058024842b3c50923 gcc/testsuite/g++.dg/lto/pr80287_0.C + 624412255e2abaa13ccef9a7f1504fff gcc/testsuite/g++.dg/lto/pr82027_0.C 6232508298dd20a759cf64fffbca9f5e gcc/testsuite/g++.dg/lto/v1-plugin-api-not-supported_0.C 80450d00a25790eac61041efe3b30bc0 gcc/testsuite/g++.dg/opt/20050511-1.C 960bd912d3dccb44df0ecdebdfd45b44 gcc/testsuite/g++.dg/opt/alias1.C *************** b8ca536d41e8477bd6c838e3069600de gcc/te *** 15390,15395 **** --- 15439,15449 ---- 82f0bf4cb38579cf06831526624b0a6e gcc/testsuite/g++.dg/opt/pr80275.C 3793c7fdebffcc14d6e627f6ab5cdb04 gcc/testsuite/g++.dg/opt/pr80385.C 6f2ff952423a3011c52cacf4acb601f1 gcc/testsuite/g++.dg/opt/pr80436.C + 12e6719f4a43c5425eae5baaafce4ce0 gcc/testsuite/g++.dg/opt/pr82159-2.C + 2ef205fc60b004319bdd85aaab41122a gcc/testsuite/g++.dg/opt/pr82159.C + 51275b1dfdc4bd6a07a6ff88ac8d81c3 gcc/testsuite/g++.dg/opt/pr83084.C + ef14b1c0d0459097940d563471958957 gcc/testsuite/g++.dg/opt/pr83608.C + 58b650e9e9104f63b1cccbbef63a1887 gcc/testsuite/g++.dg/opt/pr83609.C 1451eba24eea82cbd0c1ab87885c0f77 gcc/testsuite/g++.dg/opt/preinc1.C 0841088f825be785d32663d712ecf675 gcc/testsuite/g++.dg/opt/ptrintsum1.C 8ceccf2f02b3f64f372600e32148e146 gcc/testsuite/g++.dg/opt/ptrmem1.C *************** f4cf136163ee3fd615e4a9643520781f gcc/te *** 15482,15487 **** --- 15536,15542 ---- 3fa385490ab4811d37b5716af91e8f6c gcc/testsuite/g++.dg/other/bitfield3.C c11430455dce3502737769495b13d81c gcc/testsuite/g++.dg/other/bitfield4.C d1b6fc3c3495a535298781b963a7fc11 gcc/testsuite/g++.dg/other/bitfield5.C + 3301431b3ceb387e304f70e844134f31 gcc/testsuite/g++.dg/other/bitfield6.C ba848aa2a88ba59d1d57527eb8f55c01 gcc/testsuite/g++.dg/other/builtin-unreachable-1.C 4576cbaaf099a0140a4b7488cb4d9c9f gcc/testsuite/g++.dg/other/builtin1.C 011b8ddc593601155e855d2cf648258c gcc/testsuite/g++.dg/other/canon-31724.C *************** f66afb99493b92c63a8b1e5a2bd2ca5c gcc/te *** 16528,16535 **** --- 16583,16593 ---- 7f58616ac3fdfed0cf807ad0ed2d2e24 gcc/testsuite/g++.dg/pr79764.C bfc1d08789ff600f77190c59b402a8ec gcc/testsuite/g++.dg/pr79769.C 1873733a2a789a90d63399342ef33a77 gcc/testsuite/g++.dg/pr80222.C + 62ede7f6a84d7b41662e00a30aa1e229 gcc/testsuite/g++.dg/pr80287.C 212275758392d3afcc7ab9c8fa2c4987 gcc/testsuite/g++.dg/pr80374.C b5452fdc9af692c5acb4d9af45519954 gcc/testsuite/g++.dg/pr81007.C + 11fd788c1699adfa6c7e984373e41c98 gcc/testsuite/g++.dg/pr82128.C + 0776b7a6a5995c6b17c86a9c10abbdb2 gcc/testsuite/g++.dg/pr82155.C 80e57549741422847fb3acbd80e38ea8 gcc/testsuite/g++.dg/predict-loop-exit-1.C b6e066cc704bbace8cbfa3d84d6416c9 gcc/testsuite/g++.dg/predict-loop-exit-2.C 2ee9d3e34345a096b88c9c1968c037c7 gcc/testsuite/g++.dg/predict-loop-exit-3.C *************** f85232cc2d2ce2406ad9221174563c83 gcc/te *** 17454,17459 **** --- 17512,17518 ---- 949c06bdf670a4d1cd8949ec77ca0c2a gcc/testsuite/g++.dg/template/pr71406.C cfffe0e5a148f305e7da6cd2d9bc46c0 gcc/testsuite/g++.dg/template/pr71710.C 695053434a9bdfeba451af0ddd486872 gcc/testsuite/g++.dg/template/pr71826.C + f2a730df4b5bb0224d3120077bf8bdef gcc/testsuite/g++.dg/template/pr79650.C 04907f98f8eab7c64ced6646f5140346 gcc/testsuite/g++.dg/template/pretty1.C b1805d4b386b8dcd432f41c68e255100 gcc/testsuite/g++.dg/template/pseudodtor1.C 5bbbdc0bd84a1cf86dd283b16e7aa6ba gcc/testsuite/g++.dg/template/pseudodtor2.C *************** b620e6b75af7923a29a7c8bddaca3f88 gcc/te *** 18345,18351 **** --- 18404,18421 ---- 6f487a92823e54104daa5a6110dea6d2 gcc/testsuite/g++.dg/torture/pr80297.C c8ab626b8e279f6073645f31a011c9e3 gcc/testsuite/g++.dg/torture/pr80334.C 6e43862d1dcc5dd4f0971740f6e67b1d gcc/testsuite/g++.dg/torture/pr81112.C + 153bbff97336be3231696c3c16a64e29 gcc/testsuite/g++.dg/torture/pr81354.C 2ea00b74c66f7b415383da9b9e2d1015 gcc/testsuite/g++.dg/torture/pr81365.C + 56b86fdb0a02761ef530d4d5d546857e gcc/testsuite/g++.dg/torture/pr81877.C + 51ad14f7722c92d3074ceddad1e864f0 gcc/testsuite/g++.dg/torture/pr81884.C + bff863905887579e8aac699fddb4b928 gcc/testsuite/g++.dg/torture/pr81977.C + 22414dc3cabbf804f8f8f89b0d5c45b5 gcc/testsuite/g++.dg/torture/pr81987.C + 56f289074e2ec405f84e8945ba2fd8e7 gcc/testsuite/g++.dg/torture/pr82060.C + 5c1263a91ff6c6cd35d7064c44081a27 gcc/testsuite/g++.dg/torture/pr82084.C + 7b31d7e6cf7338af5c217f792e597cec gcc/testsuite/g++.dg/torture/pr82902.C + c27ff8c719172e781d9a4d4c2da6a666 gcc/testsuite/g++.dg/torture/pr82985.C + 35480e23a9f13b249e2b78984fea51a7 gcc/testsuite/g++.dg/torture/pr83471.C + 80e19475a80104f2c2cb4bf4bbca1f3c gcc/testsuite/g++.dg/torture/pr83713.C 389892c1f2e87d69449479d1b053c70c 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 *************** a8fec5c2428ff5aa3f865ba34c0b76b8 gcc/te *** 18563,18568 **** --- 18633,18640 ---- 815c193d3fa9c0ad974dcb886f636cf1 gcc/testsuite/g++.dg/tree-ssa/pr77943.C 4dd9b463d938a2a49979c117342e2bdd gcc/testsuite/g++.dg/tree-ssa/pr79159.C 442bcb6857ffbcbe494c50e1d85775f6 gcc/testsuite/g++.dg/tree-ssa/pr80293.C + 8b26e12d4d19370d3975bee970535253 gcc/testsuite/g++.dg/tree-ssa/pr81702.C + 99096ec4f30fcdb55089995ea662cded gcc/testsuite/g++.dg/tree-ssa/pr83523.C 08545c99d345c60329ffe51e7e912bef gcc/testsuite/g++.dg/tree-ssa/pr8781.C 745ed15ac080a9cf2f8647d424df67b5 gcc/testsuite/g++.dg/tree-ssa/pred-1.C cbfe7d75cb5b5c7850564b006625c5e3 gcc/testsuite/g++.dg/tree-ssa/ptrmemfield.C *************** f8236a695b3582ab58c4cbaaaf837f16 gcc/te *** 18655,18660 **** --- 18727,18734 ---- 27c1276f641458dd422c854a38f346db gcc/testsuite/g++.dg/ubsan/pr81111.C df2cb7ad5e4752d9785cfdde449e528c gcc/testsuite/g++.dg/ubsan/pr81125.C 56dbd5bcb2dcecefd337ad0be152e680 gcc/testsuite/g++.dg/ubsan/pr81209.C + e8bc9d8d25d9976d39a6ac63446f8a90 gcc/testsuite/g++.dg/ubsan/pr81212.C + 9d4cf2cbb1dc2baf567abd24e6896123 gcc/testsuite/g++.dg/ubsan/pr81929.C 23b03c04f7b3df05a2e3c261dbfbc91d gcc/testsuite/g++.dg/ubsan/return-1.C c729687b59770dc8f9e0991370cb1879 gcc/testsuite/g++.dg/ubsan/return-2.C 40257a16173db28137a5538f88bfea0e gcc/testsuite/g++.dg/ubsan/return-3.C *************** e61f16419adb6ed9aef99bd3303db30a gcc/te *** 18727,18734 **** 5c7fd9083bc5eecf88828a3e8041163f gcc/testsuite/g++.dg/vect/pr68762-2.cc d09670c30fbad6b7f0837b7f7af80847 gcc/testsuite/g++.dg/vect/pr68762.h 82eabbc7d36851332f92ee1b37756964 gcc/testsuite/g++.dg/vect/pr70726.cc ! c54de5504769dc7f37fa2e301d4e8a46 gcc/testsuite/g++.dg/vect/pr70729-nest.cc ! 0f3121918ef02beee4e6c8be46fce13d gcc/testsuite/g++.dg/vect/pr70729.cc 38850e627ed3358f676624ac5c0c6286 gcc/testsuite/g++.dg/vect/pr70944.cc 0258e5eedd1d313ba5369d22c0225708 gcc/testsuite/g++.dg/vect/pr71483.c bf5c8ee938eb29d9c5f2aad606d6074e gcc/testsuite/g++.dg/vect/simd-bool-comparison-1.cc --- 18801,18808 ---- 5c7fd9083bc5eecf88828a3e8041163f gcc/testsuite/g++.dg/vect/pr68762-2.cc d09670c30fbad6b7f0837b7f7af80847 gcc/testsuite/g++.dg/vect/pr68762.h 82eabbc7d36851332f92ee1b37756964 gcc/testsuite/g++.dg/vect/pr70726.cc ! b1978c6f16c1fc80de625694e19a8dcb gcc/testsuite/g++.dg/vect/pr70729-nest.cc ! e5c4e8df18b9ebc0d660121856c422c3 gcc/testsuite/g++.dg/vect/pr70729.cc 38850e627ed3358f676624ac5c0c6286 gcc/testsuite/g++.dg/vect/pr70944.cc 0258e5eedd1d313ba5369d22c0225708 gcc/testsuite/g++.dg/vect/pr71483.c bf5c8ee938eb29d9c5f2aad606d6074e gcc/testsuite/g++.dg/vect/simd-bool-comparison-1.cc *************** c5f8d177b95311df0a23b28f8373351d gcc/te *** 18762,18767 **** --- 18836,18842 ---- d53003b93dc25906e11f3f1291fb8a1d gcc/testsuite/g++.dg/warn/Warray-bounds-6.C 2dd5f5327b10ed709f19f591b16a7848 gcc/testsuite/g++.dg/warn/Warray-bounds-7.C 2d6a670b4e83bb7433e838e5b33398be gcc/testsuite/g++.dg/warn/Warray-bounds.C + 280226a080032c8df6f455c605b18c1b gcc/testsuite/g++.dg/warn/Wbool-operation-1.C d489a76c7b7ab5b0e165f2342a4e6974 gcc/testsuite/g++.dg/warn/Wbraces1.C c2debf54ffb3d60acfddad10573c458f gcc/testsuite/g++.dg/warn/Wbraces2.C 76fb8518d0b0d88c1bd0f1b96f745523 gcc/testsuite/g++.dg/warn/Wbraces3.C *************** b731b5d32c1f477ed23555d37dcf870a gcc/te *** 19223,19228 **** --- 19298,19304 ---- 6731c4b7664be875d28b7e13a1f69724 gcc/testsuite/g++.dg/warn/pr61945.C 70f21eda14d944ba09e0f2a624291f2f gcc/testsuite/g++.dg/warn/pr77496.C 62fde56fd55223e0af2436edca399912 gcc/testsuite/g++.dg/warn/pr79290.C + 8ab30a73c03f97752d2ceb2100e848b1 gcc/testsuite/g++.dg/warn/pr81675.C 591b28c4968c297ab14c8ab1384a1394 gcc/testsuite/g++.dg/warn/pr8570.C a6a330b9948ca9b7ebe194a6edd63903 gcc/testsuite/g++.dg/warn/pr8715.C 4cf78b7f61fb98cbc6e1ef39bf3dc758 gcc/testsuite/g++.dg/warn/pragma-system_header1.C *************** f49fb8a55a8bc186f2204980c5dcedd4 gcc/te *** 24108,24113 **** --- 24184,24193 ---- 7fd5ab05599fe6b3085d234e4ea017db gcc/testsuite/gcc.c-torture/compile/pr80422.c 31fc703875b35306db8bbc4f8fe2610d gcc/testsuite/gcc.c-torture/compile/pr80443.c 1bb1438d7ef7e7637f555205f23d9423 gcc/testsuite/gcc.c-torture/compile/pr81207.c + d2821401144573975d9f5852f6fc676b gcc/testsuite/gcc.c-torture/compile/pr81553.c + 196daa7de18c0a8ecd7788d3e482cc7b gcc/testsuite/gcc.c-torture/compile/pr82337.c + 793a4f5f0940ddfbb7bf0f7247486342 gcc/testsuite/gcc.c-torture/compile/pr82549.c + e7f459c4af5a8e616ac0225605a4c7c0 gcc/testsuite/gcc.c-torture/compile/pr83448.c 9611ffa8936d9c80d0a9ccde8dd093b2 gcc/testsuite/gcc.c-torture/compile/pret-arg.c b9e6ce52b90320c1c3803c25113844c5 gcc/testsuite/gcc.c-torture/compile/pta-1.c ed716c1d1727fc2c748162e0cbc4ee47 gcc/testsuite/gcc.c-torture/compile/ptr-conv-1.c *************** af6534ad23d8784f5133c8ae82991810 gcc/te *** 24161,24166 **** --- 24241,24247 ---- db8ad996166882b34241a0b5cdd3cc4b gcc/testsuite/gcc.c-torture/compile/str.c e35cb7965c1f2a5deadf10d8335506ca gcc/testsuite/gcc.c-torture/compile/strcpy-1.c 1fbbf5f7119fe4a75055f96e899b3d3b gcc/testsuite/gcc.c-torture/compile/strcpy-2.c + 836996a3564a32fa4b43e855a731d588 gcc/testsuite/gcc.c-torture/compile/string-large-1.c 85bb9c23231877035fcde4b46c845ec5 gcc/testsuite/gcc.c-torture/compile/stru.c f4772e6c906520190f7700ef4c4a9dd7 gcc/testsuite/gcc.c-torture/compile/struct-non-lval-1.c 40337004510b6e09c7e3abfbdce53cb9 gcc/testsuite/gcc.c-torture/compile/struct-non-lval-2.c *************** f50d2037a2ed60133aebb15fd8ac1626 gcc/te *** 24683,24688 **** --- 24764,24770 ---- e54823e5f85799a816f464339f03380a gcc/testsuite/gcc.c-torture/execute/20170401-1.c f8b802f2d501bc5da713d9ae58a70c11 gcc/testsuite/gcc.c-torture/execute/20170401-2.c 13d1e16ba55cc014ade05fa4e93459a9 gcc/testsuite/gcc.c-torture/execute/20170419-1.c + 9c1efb560e25ad5267acb31e4893afd9 gcc/testsuite/gcc.c-torture/execute/20180112-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 *************** e1282d6044e34443f85ed878da7dc97b gcc/te *** 25802,25810 **** --- 25884,25896 ---- 37923c71ed94f165daf72ce8348aac81 gcc/testsuite/gcc.c-torture/execute/pr80153.c 45833b96ada0857a18d70fa0804e7f6f gcc/testsuite/gcc.c-torture/execute/pr80501.c 0ec1bcb863c85b3589a1923d51468ba2 gcc/testsuite/gcc.c-torture/execute/pr80692.c + 5275aec3ca25a210e00c7aadb2e366c4 gcc/testsuite/gcc.c-torture/execute/pr81503.c 60fc747dbd1d50baf95c6269175ad273 gcc/testsuite/gcc.c-torture/execute/pr81555.c a3668023bbf40452e1d0a33bfb6710f1 gcc/testsuite/gcc.c-torture/execute/pr81556.c 6477b94998805ccc2d01eb6a5264be86 gcc/testsuite/gcc.c-torture/execute/pr81588.c + 82ecaeaef4478746e0f34cb881ad4e74 gcc/testsuite/gcc.c-torture/execute/pr82192.c + a9b36d09db3e98d889d5dabebaac9c84 gcc/testsuite/gcc.c-torture/execute/pr82524.c + 2cab2fe97f5bacd44f67721ad29e5bf1 gcc/testsuite/gcc.c-torture/execute/pr83269.c 85441b3599a9d20a4ede0f10c54a4e6b gcc/testsuite/gcc.c-torture/execute/printf-1.c 54f80bf321bfe46d44040493d9821a03 gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c f397d221ccf3a7ce631cf42078dfadb5 gcc/testsuite/gcc.c-torture/execute/pta-field-1.c *************** eb5b0c5d1ba0f0b26668b834ca04262c gcc/te *** 26503,26508 **** --- 26589,26596 ---- f79fea549fa19de730b00d37d3282778 gcc/testsuite/gcc.dg/asan/pr80659.c 643d751ee068e33d234d5fd6b48ee720 gcc/testsuite/gcc.dg/asan/pr81186.c d53f314be67b41e00cd6234bc47d1a8f gcc/testsuite/gcc.dg/asan/pr81224.c + 668c2f9b583b3061bd97cdf975229771 gcc/testsuite/gcc.dg/asan/pr81923.c + 650fc3032a7e08987ca619b55b3a366b gcc/testsuite/gcc.dg/asan/pr82545.c da89dc3f01ef08b35253f1daef462bec gcc/testsuite/gcc.dg/asan/sancov-1.c a765628a82a2516225ae1dd368e4c8fb gcc/testsuite/gcc.dg/asan/use-after-scope-1.c 5c258d85c589001c219d15be6c0575d1 gcc/testsuite/gcc.dg/asan/use-after-scope-10.c *************** a9ff03a6ff85f7c46fced4797280e236 gcc/te *** 26630,26636 **** 83fdbdbc710560c226a8fab45907cb21 gcc/testsuite/gcc.dg/attr-alloc_align-2.c a40448e5fa79d5f463c4408a645a3bb7 gcc/testsuite/gcc.dg/attr-alloc_align-3.c 7284d04f629f980868e5ba8ef7583d61 gcc/testsuite/gcc.dg/attr-alloc_size-10.c ! 947c358220ac93448d686dfcf24e28b7 gcc/testsuite/gcc.dg/attr-alloc_size-11.c c87533f518e4f5b28d742042f6e43626 gcc/testsuite/gcc.dg/attr-alloc_size-2.c a4aac179af3eb923883845742788f566 gcc/testsuite/gcc.dg/attr-alloc_size-3.c 02f4c463beb28876ba2e07b76171fd37 gcc/testsuite/gcc.dg/attr-alloc_size-4.c --- 26718,26724 ---- 83fdbdbc710560c226a8fab45907cb21 gcc/testsuite/gcc.dg/attr-alloc_align-2.c a40448e5fa79d5f463c4408a645a3bb7 gcc/testsuite/gcc.dg/attr-alloc_align-3.c 7284d04f629f980868e5ba8ef7583d61 gcc/testsuite/gcc.dg/attr-alloc_size-10.c ! 8119a1f04b0e750b1199e3d0251c84b8 gcc/testsuite/gcc.dg/attr-alloc_size-11.c c87533f518e4f5b28d742042f6e43626 gcc/testsuite/gcc.dg/attr-alloc_size-2.c a4aac179af3eb923883845742788f566 gcc/testsuite/gcc.dg/attr-alloc_size-3.c 02f4c463beb28876ba2e07b76171fd37 gcc/testsuite/gcc.dg/attr-alloc_size-4.c *************** b9abaf3878111c5050502c0f23370740 gcc/te *** 26828,26833 **** --- 26916,26922 ---- 31cd2e853fa3ab150360036e531e0590 gcc/testsuite/gcc.dg/builtin-object-size-15.c 5ba14654205964f1429fed9861e68e66 gcc/testsuite/gcc.dg/builtin-object-size-16.c 7e9e7a2b3025f8e01e257f5f2081e978 gcc/testsuite/gcc.dg/builtin-object-size-17.c + 869d1b49b0a28836ddaebf74d3462566 gcc/testsuite/gcc.dg/builtin-object-size-18.c bccfbcebba6af45769a56fafeb152ae5 gcc/testsuite/gcc.dg/builtin-object-size-2.c 64f46620da8757a8b762bbe273a1f084 gcc/testsuite/gcc.dg/builtin-object-size-3.c 16785bd3dc0c2d63e625b59efba820ae gcc/testsuite/gcc.dg/builtin-object-size-4.c *************** f9529b0f4fa81996122f55df493f75c2 gcc/te *** 28831,28837 **** 5747e00251d6af0838ac8c8688e696be gcc/testsuite/gcc.dg/gimplefe-11.c 57c5ccb23cff52b6cccbda376c86b2e8 gcc/testsuite/gcc.dg/gimplefe-12.c 9c099dc518bc4dd7feba5a54c5b29212 gcc/testsuite/gcc.dg/gimplefe-13.c ! b1c62f6898f15ab0041cc1a57d02e7bd gcc/testsuite/gcc.dg/gimplefe-14.c 1828674006bd2fc07257452032d504a5 gcc/testsuite/gcc.dg/gimplefe-15.c d7f17bc625df431a79c0ba325685c0cf gcc/testsuite/gcc.dg/gimplefe-16.c 556bc5e21038d3ca8f33c1909d6f8aff gcc/testsuite/gcc.dg/gimplefe-17.c --- 28920,28926 ---- 5747e00251d6af0838ac8c8688e696be gcc/testsuite/gcc.dg/gimplefe-11.c 57c5ccb23cff52b6cccbda376c86b2e8 gcc/testsuite/gcc.dg/gimplefe-12.c 9c099dc518bc4dd7feba5a54c5b29212 gcc/testsuite/gcc.dg/gimplefe-13.c ! 2551c34c729a00a5c0957cd5bf78ac84 gcc/testsuite/gcc.dg/gimplefe-14.c 1828674006bd2fc07257452032d504a5 gcc/testsuite/gcc.dg/gimplefe-15.c d7f17bc625df431a79c0ba325685c0cf gcc/testsuite/gcc.dg/gimplefe-16.c 556bc5e21038d3ca8f33c1909d6f8aff gcc/testsuite/gcc.dg/gimplefe-17.c *************** a85b0288fea2d86fdb34d6e61c8fb5c4 gcc/te *** 29076,29081 **** --- 29165,29172 ---- bc9fedcf7d4ab83a9eac1b425a07e995 gcc/testsuite/gcc.dg/gomp/pr68128-2.c b6e412b1e41464bf3c6ad63059710985 gcc/testsuite/gcc.dg/gomp/pr68640.c 94d52afbc97b558472c16b172f9755e9 gcc/testsuite/gcc.dg/gomp/pr72781.c + 3dfa5450530e68792fc799c17f83fc46 gcc/testsuite/gcc.dg/gomp/pr81768-1.c + 43bccc2e99a04235390798e75d04c6d1 gcc/testsuite/gcc.dg/gomp/pr81768-2.c 32d1b4709fce01c7b0f596da5c040f2a gcc/testsuite/gcc.dg/gomp/preprocess-1.c 5a96f232ac76ad6d8182f67c3f3a4acf gcc/testsuite/gcc.dg/gomp/reduction-1.c 536359d59fc418a1570a6d8574a66ca1 gcc/testsuite/gcc.dg/gomp/sections-1.c *************** bbcf84a59389f053c41b75a37e6b8f43 gcc/te *** 29671,29677 **** adfd4fd9a5f3bcdd08a76458f2286a64 gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-4.c 6338363d06028cff9b3b592e2478b0f1 gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-5.c b0e6976d3728dfc604f80cfaf17a5150 gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-6.c ! da94c78b4a93e95073a9759dce468886 gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-7.c bbdc28908094ef1ce181532afaf1b2dc gcc/testsuite/gcc.dg/ipa/ipcp-ii-1.c 80f4453150e9ddcd8976703b7c6ee1f6 gcc/testsuite/gcc.dg/ipa/noclone-1.c 40bd41302666d56c4edf7330db97920e gcc/testsuite/gcc.dg/ipa/pr42706.c --- 29762,29768 ---- adfd4fd9a5f3bcdd08a76458f2286a64 gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-4.c 6338363d06028cff9b3b592e2478b0f1 gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-5.c b0e6976d3728dfc604f80cfaf17a5150 gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-6.c ! 0cdbda40d5cdc9ac180ed340d948e96b gcc/testsuite/gcc.dg/ipa/ipcp-cstagg-7.c bbdc28908094ef1ce181532afaf1b2dc gcc/testsuite/gcc.dg/ipa/ipcp-ii-1.c 80f4453150e9ddcd8976703b7c6ee1f6 gcc/testsuite/gcc.dg/ipa/noclone-1.c 40bd41302666d56c4edf7330db97920e gcc/testsuite/gcc.dg/ipa/pr42706.c *************** d7c1d9b981bf01c33fdef55aa1f7d528 gcc/te *** 29708,29713 **** --- 29799,29807 ---- ecd0d8d104e56038bc3afff3785c57ef gcc/testsuite/gcc.dg/ipa/pr77653.c 3ecd453979b819958779a6a8eea071ce gcc/testsuite/gcc.dg/ipa/pr78121.c fa8ddbcc7285d68bc45e806fa10c5aa5 gcc/testsuite/gcc.dg/ipa/pr80104.c + e7fc4be7576352c4cd0c02e049c49640 gcc/testsuite/gcc.dg/ipa/pr81696.c + e69e8e71bc18aee250eb3863dee58b57 gcc/testsuite/gcc.dg/ipa/pr82001.c + c5a982844b74e3d73d7511fd2cb5ce36 gcc/testsuite/gcc.dg/ipa/pr82808.c 8294157f7e95bf0310146944166a33f7 gcc/testsuite/gcc.dg/ipa/propalign-1.c 60d5533330395d9f80d7f318856ba6ab gcc/testsuite/gcc.dg/ipa/propalign-2.c b3c9ac7648ec0372964326c8ec24be99 gcc/testsuite/gcc.dg/ipa/propalign-3.c *************** a8c315968907b6e4af7ba7ac664c3d4d gcc/te *** 30241,30246 **** --- 30335,30341 ---- e9af8f53937010b4e45122a89b4a3c96 gcc/testsuite/gcc.dg/opts-5.c ffa8781680b14dd532248cb588936ef3 gcc/testsuite/gcc.dg/opts-6.c ba65f63dbff65b24afbb672acdda5c51 gcc/testsuite/gcc.dg/opts-7.c + e5457066a3fb8a7d2cfd77aab02a105d gcc/testsuite/gcc.dg/opts-8.c 1fcdf792cb92891edb72ef44e4036004 gcc/testsuite/gcc.dg/ordered-comparison-1.c f0a8868858febe634c08ed10db8df14f gcc/testsuite/gcc.dg/ordered-comparison-2.c e2c51fe1d974ad05661fe94550d25433 gcc/testsuite/gcc.dg/ordered-comparison-3.c *************** b7258270e0a8e1b90e7f438a1a264434 gcc/te *** 30418,30424 **** 3bbaf2fe268dd33bddd2dafb1cff285b gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c b584a46252319e63ce8a18cd3d89f07c gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c f85fcb7be06c7e069a22692e30b841a8 gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c ! ef582d53394d7feaf7ca3c999fa2de7c gcc/testsuite/gcc.dg/plugin/must-tail-call-1.c b1a9c2af16dec0d49e4f96f176a99493 gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c 4f9162b0bea5be7a65cfd95710142650 gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.c adbc6d60d6e1474ca93af3b50208e741 gcc/testsuite/gcc.dg/plugin/one_time-test-1.c --- 30513,30519 ---- 3bbaf2fe268dd33bddd2dafb1cff285b gcc/testsuite/gcc.dg/plugin/location-overflow-test-1.c b584a46252319e63ce8a18cd3d89f07c gcc/testsuite/gcc.dg/plugin/location-overflow-test-2.c f85fcb7be06c7e069a22692e30b841a8 gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c ! db7ca96e3ca2a65918f7ad1c3bf0c344 gcc/testsuite/gcc.dg/plugin/must-tail-call-1.c b1a9c2af16dec0d49e4f96f176a99493 gcc/testsuite/gcc.dg/plugin/must-tail-call-2.c 4f9162b0bea5be7a65cfd95710142650 gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.c adbc6d60d6e1474ca93af3b50208e741 gcc/testsuite/gcc.dg/plugin/one_time-test-1.c *************** c61145f66ad86d5750f921ee12a6d3ea gcc/te *** 31826,31835 **** --- 31921,31947 ---- 13fd4653a887fd812f313509efe0bf44 gcc/testsuite/gcc.dg/pr80468.c 21f1c2987bb9b7070a72257997833969 gcc/testsuite/gcc.dg/pr80492.c c18713c02dd6db585d0b717323e42243 gcc/testsuite/gcc.dg/pr80500.c + 55873f1cbff0d2709f50c0f4f5c1b1e5 gcc/testsuite/gcc.dg/pr80747.c e3501e79a84ec5c54c17e7fa34c87587 gcc/testsuite/gcc.dg/pr80903.c 2d3008b06f6add111e8e825b9d93b0a7 gcc/testsuite/gcc.dg/pr81192.c bb156c6c81366579b6d35fa7f4c47036 gcc/testsuite/gcc.dg/pr81455.c d0740fea8c2bde45e4d2daafa1a131cc gcc/testsuite/gcc.dg/pr81588.c + 25643ed86459e72b894b58fd0ca23c45 gcc/testsuite/gcc.dg/pr81621.c + 15e9928cc7fd07b5da8b5ab724a2878d gcc/testsuite/gcc.dg/pr81650.c + 6275ac69ea3af7836ee4b4f35a012f5b gcc/testsuite/gcc.dg/pr81988.c + 6ab73da237e4b1f4a00a90b19e6d538b gcc/testsuite/gcc.dg/pr82112.c + 3f25e46f965a27a369afdbd4a7198ff7 gcc/testsuite/gcc.dg/pr82274-1.c + 764c02762bebaad407461b2e21341c14 gcc/testsuite/gcc.dg/pr82274-2.c + ae605184856a82a47dbd32ae477f514f gcc/testsuite/gcc.dg/pr82703.c + 090f08b3a0f18a09d76a66610bb47031 gcc/testsuite/gcc.dg/pr82765.c + 3b6383789fec91d0e0c3792510760ca9 gcc/testsuite/gcc.dg/pr82975.c + ee769f3adcf7fab595250b248a69fc79 gcc/testsuite/gcc.dg/pr83198.c + 4cfcf9fb49e0c6531f60ce19ff899760 gcc/testsuite/gcc.dg/pr83424.c + 8737dcae5fe714e2a9c7615d0daa08bb gcc/testsuite/gcc.dg/pr83512.c + ebf3ad75a7f26e3b9af3d5d4e2389afd gcc/testsuite/gcc.dg/pr83521.c + ae7d69a2b5ce2e83ee3853b71000d655 gcc/testsuite/gcc.dg/pr83552.c + 81f7605ff01265c2f5be2ced12074dbc gcc/testsuite/gcc.dg/pr83609.c + ccfd72718953da255079c43c6c6a8a33 gcc/testsuite/gcc.dg/pr83623.c 8b7d73da2d5d78000716492365a85d5a gcc/testsuite/gcc.dg/pr8715.c 45a1003c5d24f4875b1c3a5d4f9569fe gcc/testsuite/gcc.dg/pr8788-1.c be04382a35ebb1cfae1b2168f1693a94 gcc/testsuite/gcc.dg/pr8835-1.c *************** c5b69018539af33b153200da995bed75 gcc/te *** 33040,33046 **** bce1a41800b1242ba448fe4938c4ee1a gcc/testsuite/gcc.dg/torture/pr59903.c a0d76efc48328548b5c9fdeabdba5798 gcc/testsuite/gcc.dg/torture/pr59990.c 8fd58a81befcd37ab8a2c857cd33ac4e gcc/testsuite/gcc.dg/torture/pr59993.c ! bfd69718da1d2f11d6659dff131080dc gcc/testsuite/gcc.dg/torture/pr60092.c 1e0c7fa9a60ee1e7c4d0ea1eb8ec37ab gcc/testsuite/gcc.dg/torture/pr60115.c 3e0dd582d51f218aa9dbe4841686c12a gcc/testsuite/gcc.dg/torture/pr60183.c 37edab80333ac230277b7302ae12a316 gcc/testsuite/gcc.dg/torture/pr60606-1.c --- 33152,33158 ---- bce1a41800b1242ba448fe4938c4ee1a gcc/testsuite/gcc.dg/torture/pr59903.c a0d76efc48328548b5c9fdeabdba5798 gcc/testsuite/gcc.dg/torture/pr59990.c 8fd58a81befcd37ab8a2c857cd33ac4e gcc/testsuite/gcc.dg/torture/pr59993.c ! 243afc493ce4d009d8c7a6ed077193b1 gcc/testsuite/gcc.dg/torture/pr60092.c 1e0c7fa9a60ee1e7c4d0ea1eb8ec37ab gcc/testsuite/gcc.dg/torture/pr60115.c 3e0dd582d51f218aa9dbe4841686c12a gcc/testsuite/gcc.dg/torture/pr60183.c 37edab80333ac230277b7302ae12a316 gcc/testsuite/gcc.dg/torture/pr60606-1.c *************** a4f6b08c1291381e88e61db06bdf372f gcc/te *** 33353,33358 **** --- 33465,33481 ---- a8d41c3dc9b919057003c984fd22ecbd gcc/testsuite/gcc.dg/torture/pr80842.c d19aed0a4e2ff7539a13bbabe58b1718 gcc/testsuite/gcc.dg/torture/pr80970.c 1b226454a7fb0c8fb9378879e493da1a gcc/testsuite/gcc.dg/torture/pr81083.c + ca2acb1431d1d7c06c0023e61785e6dc gcc/testsuite/gcc.dg/torture/pr81181.c + 9c7f2022b91d5378ecf261a83632a47e gcc/testsuite/gcc.dg/torture/pr81790.c + 8314ada81ea665898c4e839ec594aa42 gcc/testsuite/gcc.dg/torture/pr82102.c + 8bd84fcfed5e067d6e1e71c261f494be gcc/testsuite/gcc.dg/torture/pr82244.c + fceb11db75335ec403cac84c4b7152dc gcc/testsuite/gcc.dg/torture/pr82264.c + 454da85adee3a6a53aa95daa776ebdbd gcc/testsuite/gcc.dg/torture/pr82276.c + 9159698b2ec0dbe37aaa793d0e3fdf2a gcc/testsuite/gcc.dg/torture/pr82285.c + 13afc73ea0ac1c9465104f503ad5daeb gcc/testsuite/gcc.dg/torture/pr82291.c + c4067e68903cdc2e5aaad5e7fa945264 gcc/testsuite/gcc.dg/torture/pr82402.c + 7486e2be0c8bd30e05693a45799dca21 gcc/testsuite/gcc.dg/torture/pr82603.c + 9751e831af5032dd0fef399e0fa3c24c gcc/testsuite/gcc.dg/torture/pr82697.c d086c3946230ba05df33a45be4862730 gcc/testsuite/gcc.dg/torture/pta-callused-1.c 39620328710fd9ff170741766805e426 gcc/testsuite/gcc.dg/torture/pta-escape-1.c f50cbae53561b1267140f574974f7fc0 gcc/testsuite/gcc.dg/torture/pta-ptrarith-1.c *************** e44bb4ad4c3e2d34436a971260bd2bf8 gcc/te *** 33717,33722 **** --- 33840,33846 ---- 61f37614366af07d2c62ba285025c443 gcc/testsuite/gcc.dg/tree-ssa/builtin-snprintf-warn-1.c 49bcfdd05cf5b5274b0cd5edde4bed46 gcc/testsuite/gcc.dg/tree-ssa/builtin-snprintf-warn-2.c d54aeadf6e9c96f48b83d5b03fdc9137 gcc/testsuite/gcc.dg/tree-ssa/builtin-snprintf-warn-3.c + e67a31aa2e0193c2835ef0f1f4184420 gcc/testsuite/gcc.dg/tree-ssa/builtin-snprintf-warn-4.c b6b82cf096a0a8e1216ea9c34ce3af2b gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c fc214128225f2148d7874b404d4c127b gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-3.c df45688bd80db8170c6145ac667856b2 gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-4.c *************** d4aa7c24d6416b188d1742fc7862c0d5 gcc/te *** 34364,34370 **** bcb932cf3c7784b98123718e8e7bd90d gcc/testsuite/gcc.dg/tree-ssa/pr79943.c 00e227d95a7b91ac653b8f6d91046426 gcc/testsuite/gcc.dg/tree-ssa/pr81388-1.c d33f4213b2023b5f7798fbdda71e4dce gcc/testsuite/gcc.dg/tree-ssa/pr81388-2.c ! bd645d4e18664930c3c8fc5c9e37e45b gcc/testsuite/gcc.dg/tree-ssa/pr81588.c e6c9f2dd9d7405dee4bfd5d6d0fc455f gcc/testsuite/gcc.dg/tree-ssa/pred-1.c 90c3c1a872e4566cc043c50e818ef036 gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c ec45787b9b781da6181e7960a8cb76f0 gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c --- 34488,34497 ---- bcb932cf3c7784b98123718e8e7bd90d gcc/testsuite/gcc.dg/tree-ssa/pr79943.c 00e227d95a7b91ac653b8f6d91046426 gcc/testsuite/gcc.dg/tree-ssa/pr81388-1.c d33f4213b2023b5f7798fbdda71e4dce gcc/testsuite/gcc.dg/tree-ssa/pr81388-2.c ! 9f9ca14d5cb7fdf89b6360006ce4a622 gcc/testsuite/gcc.dg/tree-ssa/pr81588.c ! f46e92172b945f661bae1ab06ce7f4ac gcc/testsuite/gcc.dg/tree-ssa/pr82340.c ! 75141932aa922f32bbb87834cd9630ad gcc/testsuite/gcc.dg/tree-ssa/pr82726.c ! f807ed0961b01a668364922fd655af81 gcc/testsuite/gcc.dg/tree-ssa/pr83198.c e6c9f2dd9d7405dee4bfd5d6d0fc455f gcc/testsuite/gcc.dg/tree-ssa/pred-1.c 90c3c1a872e4566cc043c50e818ef036 gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c ec45787b9b781da6181e7960a8cb76f0 gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c *************** bea7f326889c0a8fbd1c274d297acf07 gcc/te *** 34989,34994 **** --- 35116,35122 ---- 3037e107357a95ddd6b61dbb90af7fde gcc/testsuite/gcc.dg/ubsan/pr80097.c 6dd5a7b8f1dd237a95a0f42766ee64d9 gcc/testsuite/gcc.dg/ubsan/pr81162.c bb206afd27601853bf04c68fdf6d7763 gcc/testsuite/gcc.dg/ubsan/pr81505.c + e95ed112f0ea45770ff240c4770cd2c7 gcc/testsuite/gcc.dg/ubsan/pr83014.c 76fb0ba3d3d6e1691e23a35a2eb5bcfa gcc/testsuite/gcc.dg/ubsan/ubsan.exp b749062a1214fdf6ba947d30bdf90f30 gcc/testsuite/gcc.dg/ucnid-1.c deec75fcb663af9b8c0ad9b43a81dd3b gcc/testsuite/gcc.dg/ucnid-10.c *************** fb7fb911814f67c58846323d51173f98 gcc/te *** 35065,35070 **** --- 35193,35199 ---- 1c8d27f96b4cf1013a7cd0fae3e7368a gcc/testsuite/gcc.dg/uninit-pr65686.c e821794f64a67239864ede698d50f620 gcc/testsuite/gcc.dg/uninit-pr78295.c e5914ec194abe834db8656483a92fcdc gcc/testsuite/gcc.dg/uninit-pr78548.c + e37d87bcbc2425be943ff59a8baa223d gcc/testsuite/gcc.dg/uninit-pr81782.c 2e2b2ca64d1c3db87c75755a21b4bc06 gcc/testsuite/gcc.dg/uninit-pred-2_a.c 7d67cd7432d67994c6642a61e0020d9e gcc/testsuite/gcc.dg/uninit-pred-2_b.c dc20b95e0c82e7593d7e562b3b1e5aaf gcc/testsuite/gcc.dg/uninit-pred-2_c.c *************** a7cd8b8cb8be22a9ef1f1166d448aa8f gcc/te *** 35634,35641 **** --- 35763,35774 ---- a12062986be1b14e66db717db5cdadba gcc/testsuite/gcc.dg/vect/pr79824-2.c e805f67ead2894c44bccccd340803cfc gcc/testsuite/gcc.dg/vect/pr79887.c 7568e8f098ed998623479d52fb6c108e gcc/testsuite/gcc.dg/vect/pr79920.c + ad63fdd3c21a22619dd1f66e5e9a7410 gcc/testsuite/gcc.dg/vect/pr80631-1.c + dd369fee4b54f132a1e62f5f6bd24627 gcc/testsuite/gcc.dg/vect/pr80631-2.c ab01171ee6ad27ca13cbc3085178f4b6 gcc/testsuite/gcc.dg/vect/pr81410.c 3b59a28d58088fb3cfd4756b716a52cb gcc/testsuite/gcc.dg/vect/pr81633.c + 7b87a8f59e1bd5262c259ee074d8f12a gcc/testsuite/gcc.dg/vect/pr82108.c + e14263baf37160b7fe78dcea65251c62 gcc/testsuite/gcc.dg/vect/pr82436.c 32d06c886c85516fbdce4ca1bd516496 gcc/testsuite/gcc.dg/vect/section-anchors-pr27770.c 00b8b4e778221f5bedb59cfc69f6c9d7 gcc/testsuite/gcc.dg/vect/section-anchors-vect-69.c 218f2e2bcfb33c838c80a2ae8c302759 gcc/testsuite/gcc.dg/vect/slp-1.c *************** a04da26df4dc686ef67148f9bd250c35 gcc/te *** 35873,35880 **** 1352223f77edae35a5ac0ba2673a51ad gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c 2a3e312bd7e5ab5df45fd26be16729e2 gcc/testsuite/gcc.dg/vect/vect-alias-check-2.c 164f1d465e8f0c3cf4f0595cdd0b4142 gcc/testsuite/gcc.dg/vect/vect-alias-check.c ! a18b3ffa8f83d8abde78403ca464023b gcc/testsuite/gcc.dg/vect/vect-align-1.c ! 7b0e92c7667d6adde83adae52881c42a gcc/testsuite/gcc.dg/vect/vect-align-2.c 374e4045853c30f4e4156da8f6908c21 gcc/testsuite/gcc.dg/vect/vect-align-3.c cebd818672e5d27912a0b44292c95d47 gcc/testsuite/gcc.dg/vect/vect-all-big-array.c c212d9634747288642316f5a4ff71688 gcc/testsuite/gcc.dg/vect/vect-all.c --- 36006,36013 ---- 1352223f77edae35a5ac0ba2673a51ad gcc/testsuite/gcc.dg/vect/vect-alias-check-1.c 2a3e312bd7e5ab5df45fd26be16729e2 gcc/testsuite/gcc.dg/vect/vect-alias-check-2.c 164f1d465e8f0c3cf4f0595cdd0b4142 gcc/testsuite/gcc.dg/vect/vect-alias-check.c ! f0b56b894481ffe1fe102a037e482707 gcc/testsuite/gcc.dg/vect/vect-align-1.c ! 75ba50d97de7fbaec0de05868c19be02 gcc/testsuite/gcc.dg/vect/vect-align-2.c 374e4045853c30f4e4156da8f6908c21 gcc/testsuite/gcc.dg/vect/vect-align-3.c cebd818672e5d27912a0b44292c95d47 gcc/testsuite/gcc.dg/vect/vect-all-big-array.c c212d9634747288642316f5a4ff71688 gcc/testsuite/gcc.dg/vect/vect-all.c *************** eee53e73bb62e3a2c57e19ae2588381e gcc/te *** 35965,35971 **** 8494d25e3787d18a874de4e0f69a02d4 gcc/testsuite/gcc.dg/vect/vect-mult-const-pattern-2.c 4656afca0ce66b7237e1f714334354d0 gcc/testsuite/gcc.dg/vect/vect-mult-pattern-1.c c803a6ba1c147c45b591a730527ab2b1 gcc/testsuite/gcc.dg/vect/vect-mult-pattern-2.c ! d6991187bc715972aed86c27bbdba4b6 gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c f0b81a5ed7ca804a416117433fb97b42 gcc/testsuite/gcc.dg/vect/vect-multitypes-10.c 9b66722b681e4741477fb208a6fb4552 gcc/testsuite/gcc.dg/vect/vect-multitypes-11.c c189643b51409f85e314657ad763f872 gcc/testsuite/gcc.dg/vect/vect-multitypes-12.c --- 36098,36104 ---- 8494d25e3787d18a874de4e0f69a02d4 gcc/testsuite/gcc.dg/vect/vect-mult-const-pattern-2.c 4656afca0ce66b7237e1f714334354d0 gcc/testsuite/gcc.dg/vect/vect-mult-pattern-1.c c803a6ba1c147c45b591a730527ab2b1 gcc/testsuite/gcc.dg/vect/vect-mult-pattern-2.c ! fa077c09c84d0ba29542d0985b08025a gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c f0b81a5ed7ca804a416117433fb97b42 gcc/testsuite/gcc.dg/vect/vect-multitypes-10.c 9b66722b681e4741477fb208a6fb4552 gcc/testsuite/gcc.dg/vect/vect-multitypes-11.c c189643b51409f85e314657ad763f872 gcc/testsuite/gcc.dg/vect/vect-multitypes-12.c *************** c78c0b4bf1f9d71f6874b0be55f3f7b8 gcc/te *** 37349,37354 **** --- 37482,37488 ---- eb748e6de8945b3aa35ce6b22a073829 gcc/testsuite/gcc.target/aarch64/pr70398.c e7efe396ef16dbc7526785247ead6d84 gcc/testsuite/gcc.target/aarch64/pr70809_1.c 1acf0bf1d4e41e413852c39aabdc7e52 gcc/testsuite/gcc.target/aarch64/pr71016.c + fb3d2863d5e55c030bd48d378729ed26 gcc/testsuite/gcc.target/aarch64/pr71727-2.c 1eb58525eb6a200ff2a40aa35b5a8706 gcc/testsuite/gcc.target/aarch64/pr71727.c c8c052e3ffb361fbe4b0043b1414c58b gcc/testsuite/gcc.target/aarch64/pr78038.c ed6579d962ab6988afc3e526e6c51275 gcc/testsuite/gcc.target/aarch64/pr78255.c *************** f9f37ccfc032535c8079deb6b916aca7 gcc/te *** 37356,37361 **** --- 37490,37496 ---- 15de7f015106f4b337262f146247f86f gcc/testsuite/gcc.target/aarch64/pr78561.c f6bde67b38258da0213fe94e0328086e gcc/testsuite/gcc.target/aarch64/pr78733.c f5c871a487631f83cd217777a75ab65c gcc/testsuite/gcc.target/aarch64/pr79041-2.c + aa2dfd18bc6784e0bc7ee00c3ef8561a gcc/testsuite/gcc.target/aarch64/pr80295.c 03c2d3e09e76becf66ec361f70b99040 gcc/testsuite/gcc.target/aarch64/pr81414.C d3e6defa85b5cd4bb506306377e59a53 gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c 1f95766b4ed5bfb5f2cf1f168a607a8d gcc/testsuite/gcc.target/aarch64/predefine_large.c *************** b36471f8edbf2a11ce23359823ecc10b gcc/te *** 38029,38034 **** --- 38164,38172 ---- 5f0298d225684c28c36ad42548aeccbd gcc/testsuite/gcc.target/alpha/pr42774.c 4b2dcff48566cef7a104bfadab9354cc gcc/testsuite/gcc.target/alpha/pr61586.c 4b94b637ab988a04f03f707f95a35963 gcc/testsuite/gcc.target/alpha/pr66140.c + e6d1333accc73a351e98b7ad842cd2be gcc/testsuite/gcc.target/alpha/pr83628-1.c + 2052308560c0cb7bee41dddbff1ae5f4 gcc/testsuite/gcc.target/alpha/pr83628-2.c + 38c58f9ce3fd2fd442a1637ac9e5e8bd gcc/testsuite/gcc.target/alpha/pr83628-3.c 96315e3201d2fa31fb4cbdf30fb2ba4d gcc/testsuite/gcc.target/arc/abitest.S a125f0012bfc0fdad155c9b9bcc0f009 gcc/testsuite/gcc.target/arc/abitest.h 05000988e30bf0a0429e952bc0773e17 gcc/testsuite/gcc.target/arc/arc.exp *************** e0b358414d3e86102d32b626de2fbc40 gcc/te *** 38211,38216 **** --- 38349,38355 ---- e6770b783be0247df9d00ba6fca2db38 gcc/testsuite/gcc.target/arm/armv8_2-fp16-arith-1.c e760d8a00f0e4b4ceedce756dc61f6c1 gcc/testsuite/gcc.target/arm/armv8_2-fp16-conv-1.c b9b4382da0b3af6ae47621e905f7dd19 gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-1.c + 418eabc8592f05c73d84d1c2107a8436 gcc/testsuite/gcc.target/arm/armv8_2-fp16-move-2.c 20837f6c567b11de8d8f031382f853a7 gcc/testsuite/gcc.target/arm/armv8_2-fp16-neon-1.c 8f88cdcfdc86a7068680b15dfe795b54 gcc/testsuite/gcc.target/arm/armv8_2-fp16-scalar-1.c 9aa63d4bf1d824cace921a6c5d1d2ab6 gcc/testsuite/gcc.target/arm/armv8_2-fp16-scalar-2.c *************** c0ebea9052f8cd9253ee6ff358df5e52 gcc/te *** 38498,38505 **** b94e8651adacb0707cf74c47dba81bff gcc/testsuite/gcc.target/arm/lto/lto.exp 90bf73bda834641a0bea89584effe1a7 gcc/testsuite/gcc.target/arm/lto/pr61123-enum-size_0.c 636cbd6b191957f3f94b3734e71688a5 gcc/testsuite/gcc.target/arm/lto/pr61123-enum-size_1.c ! 2938cb50c2bdba15b1d25b23e8bd5366 gcc/testsuite/gcc.target/arm/lto/pr65837-attr_0.c ! 554dfa9050715f58a8fcdd20ea5129a6 gcc/testsuite/gcc.target/arm/lto/pr65837_0.c bbec60a3809be2a64fe690e41e9880fa gcc/testsuite/gcc.target/arm/macro_defs0.c d167874d0fc3e5612515b43694631587 gcc/testsuite/gcc.target/arm/macro_defs1.c 124b8184e718e7e16799430a99e76983 gcc/testsuite/gcc.target/arm/macro_defs2.c --- 38637,38644 ---- b94e8651adacb0707cf74c47dba81bff gcc/testsuite/gcc.target/arm/lto/lto.exp 90bf73bda834641a0bea89584effe1a7 gcc/testsuite/gcc.target/arm/lto/pr61123-enum-size_0.c 636cbd6b191957f3f94b3734e71688a5 gcc/testsuite/gcc.target/arm/lto/pr61123-enum-size_1.c ! 0fe8e2ad477327f013e80d0961d711a8 gcc/testsuite/gcc.target/arm/lto/pr65837-attr_0.c ! 9c1d0bd8b530eb85b5c816dc0a3e7423 gcc/testsuite/gcc.target/arm/lto/pr65837_0.c bbec60a3809be2a64fe690e41e9880fa gcc/testsuite/gcc.target/arm/macro_defs0.c d167874d0fc3e5612515b43694631587 gcc/testsuite/gcc.target/arm/macro_defs1.c 124b8184e718e7e16799430a99e76983 gcc/testsuite/gcc.target/arm/macro_defs2.c *************** a27c7480ff5cba860dda5da683bb3b87 gcc/te *** 38533,38539 **** afe54d7fb9ac258488be28ac14b2a1ef gcc/testsuite/gcc.target/arm/negdi-2.c 1d82b3b0ea80aefafa6a48ad67e7e36e gcc/testsuite/gcc.target/arm/negdi-3.c a57834afa1e2484def0400d4cc47fb79 gcc/testsuite/gcc.target/arm/negscc_restrict_it.c ! 0c3d6eea788685142fc594c9c91cbeeb gcc/testsuite/gcc.target/arm/neon-combine-sub-abs-into-vabd.c bce9be46a9e956c5fcc66bfb68691f0f gcc/testsuite/gcc.target/arm/neon-cond-1.c 95e7dc0a69b8897c71950d44f354e6fe gcc/testsuite/gcc.target/arm/neon-extend-1.c 55c2ac44282326181af199753f94cb8a gcc/testsuite/gcc.target/arm/neon-extend-2.c --- 38672,38678 ---- afe54d7fb9ac258488be28ac14b2a1ef gcc/testsuite/gcc.target/arm/negdi-2.c 1d82b3b0ea80aefafa6a48ad67e7e36e gcc/testsuite/gcc.target/arm/negdi-3.c a57834afa1e2484def0400d4cc47fb79 gcc/testsuite/gcc.target/arm/negscc_restrict_it.c ! c9c15765077132f5b79ac6af6064736b gcc/testsuite/gcc.target/arm/neon-combine-sub-abs-into-vabd.c bce9be46a9e956c5fcc66bfb68691f0f gcc/testsuite/gcc.target/arm/neon-cond-1.c 95e7dc0a69b8897c71950d44f354e6fe gcc/testsuite/gcc.target/arm/neon-extend-1.c 55c2ac44282326181af199753f94cb8a gcc/testsuite/gcc.target/arm/neon-extend-2.c *************** d9176edb2d4bd04cd070915cebff5f2a gcc/te *** 38625,38632 **** 149a0cf89600ca690106d2b6482bf84a gcc/testsuite/gcc.target/arm/optional_thumb-1.c dd0827774a767586a558dee375d638d3 gcc/testsuite/gcc.target/arm/optional_thumb-2.c 7f513f196dcd13462f6ac0cd6ce1da4d gcc/testsuite/gcc.target/arm/optional_thumb-3.c ! bbf445a496426a2eb349dad6caad9214 gcc/testsuite/gcc.target/arm/peep-ldrd-1.c ! 424823565455dca46578a26eb7baadc6 gcc/testsuite/gcc.target/arm/peep-strd-1.c ec5a65d10b43e0d5bf6c1693c958c415 gcc/testsuite/gcc.target/arm/polytypes.c 72bbaa8c26a0c2a016398c7eb5e3bb14 gcc/testsuite/gcc.target/arm/pr19599.c 3425143e88f989a8f52f345e6237106a gcc/testsuite/gcc.target/arm/pr26702.c --- 38764,38773 ---- 149a0cf89600ca690106d2b6482bf84a gcc/testsuite/gcc.target/arm/optional_thumb-1.c dd0827774a767586a558dee375d638d3 gcc/testsuite/gcc.target/arm/optional_thumb-2.c 7f513f196dcd13462f6ac0cd6ce1da4d gcc/testsuite/gcc.target/arm/optional_thumb-3.c ! 37a9218c79439946d7d0121ec2abee72 gcc/testsuite/gcc.target/arm/peep-ldrd-1.c ! ce2ea998f70f030c1e5c5cf0f3536bd7 gcc/testsuite/gcc.target/arm/peep-ldrd-2.c ! 852d7dad95a15e1bee77bdc0817b7192 gcc/testsuite/gcc.target/arm/peep-strd-1.c ! 7a1f853ca353ec3249c7750b5684b3e6 gcc/testsuite/gcc.target/arm/peep-strd-2.c ec5a65d10b43e0d5bf6c1693c958c415 gcc/testsuite/gcc.target/arm/polytypes.c 72bbaa8c26a0c2a016398c7eb5e3bb14 gcc/testsuite/gcc.target/arm/pr19599.c 3425143e88f989a8f52f345e6237106a gcc/testsuite/gcc.target/arm/pr26702.c *************** e9273f96fab761cd7ea5079114cf850a gcc/te *** 38771,38776 **** --- 38912,38918 ---- 9af668f971102617e44a1aabe76bd18b gcc/testsuite/gcc.target/arm/pr79131-2.c 3116e99b993df2059971c2fae6d9b6b0 gcc/testsuite/gcc.target/arm/pr79145.c 886e1e8bcef4564f65d87770aeced965 gcc/testsuite/gcc.target/arm/pr79239.c + c3c03d98bf1110fec6902ef64b984fde gcc/testsuite/gcc.target/arm/pr83687.c 321232597c3b16471c510b972ad557b4 gcc/testsuite/gcc.target/arm/pragma_attribute.c cdf14fd079c2cd544c152c39ceb8ac66 gcc/testsuite/gcc.target/arm/pragma_cpp_fma.c 5b1a9414b404b74eb5cf36760730cf83 gcc/testsuite/gcc.target/arm/pure-code/ffunction-sections.c *************** ffe6f1ccb5949bed3de0d19e65d73433 gcc/te *** 40266,40271 **** --- 40408,40414 ---- e18087fd0fa5cf6fcaaebd3234a384eb gcc/testsuite/gcc.target/i386/avx2-pr70354-2.c d74ce7ca4af70d590cb84aa587a5328a gcc/testsuite/gcc.target/i386/avx2-pr70542.c 757f2803cb524594784445d322b67fa5 gcc/testsuite/gcc.target/i386/avx2-pr70574.c + eff00a81e6cb0010baf6a32b833b0772 gcc/testsuite/gcc.target/i386/avx2-pr80631.c 2b83554762241a146df7ccc1617e1bfa gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-1.c 193f0a7d029b84ce4e3b2e58eac8240a gcc/testsuite/gcc.target/i386/avx2-vbroadcastsd_pd-2.c 84a46e7f4338347591f1c8fe0aaceda5 gcc/testsuite/gcc.target/i386/avx2-vbroadcastsi128-1.c *************** b56cbb83f01d0feeec0ec874e60a703c gcc/te *** 42867,42872 **** --- 43010,43058 ---- cdd25f9aac1f47c227bf3e42b258efa9 gcc/testsuite/gcc.target/i386/incoming-7.c 74e35cf742c4e2fe9ce50213ed289958 gcc/testsuite/gcc.target/i386/incoming-8.c 9be1a58062ffa2d8454af884da1b9f81 gcc/testsuite/gcc.target/i386/incoming-9.c + 03827a2c9780d33bb4db45891893647a gcc/testsuite/gcc.target/i386/indirect-thunk-1.c + 20988adf9b08c4b293517a2c73863343 gcc/testsuite/gcc.target/i386/indirect-thunk-10.c + 885fe8bc8b78c46d553ff7c466379c82 gcc/testsuite/gcc.target/i386/indirect-thunk-2.c + 21e2b7df8300cb76b9018c098259deaa gcc/testsuite/gcc.target/i386/indirect-thunk-3.c + 33fb08984b3be497a1d2eb67b20d7821 gcc/testsuite/gcc.target/i386/indirect-thunk-4.c + 57a08ef10015d22dd132d82e1cfd8591 gcc/testsuite/gcc.target/i386/indirect-thunk-5.c + fbd73d360e72d55b4389997eee3a9ad6 gcc/testsuite/gcc.target/i386/indirect-thunk-6.c + e6e69a8edb8e20c3784c2f82ab9ad9b7 gcc/testsuite/gcc.target/i386/indirect-thunk-7.c + 136c6b3bb1163a3077d4207bfc4e5275 gcc/testsuite/gcc.target/i386/indirect-thunk-8.c + c6d529ddda0429e0c528b2de3c8384d4 gcc/testsuite/gcc.target/i386/indirect-thunk-9.c + 373c98be1b17bda68d48f75c5d262748 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-1.c + b346e03904cb1d652c2c4820cca183ee gcc/testsuite/gcc.target/i386/indirect-thunk-attr-10.c + 4bdf208508a160ea7a3791b56b304575 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-11.c + a587209ff1b92eaad7f636abeeb72660 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-2.c + fa84c0071555de176c8a83d1df04cd29 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-3.c + fa0a854dc2c4190e78c0e55bca9a1d19 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-4.c + 804bd46f4f3779cfdc76ab2fae269bce gcc/testsuite/gcc.target/i386/indirect-thunk-attr-5.c + c746655caa029f480bb12e9dc214b6ef gcc/testsuite/gcc.target/i386/indirect-thunk-attr-6.c + e50dd0ba47d814e6b0a0fbb2869a7b14 gcc/testsuite/gcc.target/i386/indirect-thunk-attr-7.c + 867bd0927104666fdf41c8c325a2553d gcc/testsuite/gcc.target/i386/indirect-thunk-attr-8.c + f062bd94d2bcc6229905c541b481a03c gcc/testsuite/gcc.target/i386/indirect-thunk-attr-9.c + dc83c9450064c7dda1e87339e30b0d43 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-1.c + 20f28b3a736c2b03960b4e41d0cd3369 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-2.c + b3b3bdc4e4e24c19e16c0c6c4db58f7c gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-3.c + 9190089f7729ddc47163d344a05e1c83 gcc/testsuite/gcc.target/i386/indirect-thunk-bnd-4.c + dd8256d3f87843ddd24cde617c8d3ba5 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-1.c + ea1264812baa47369ff7cc693094ff18 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-2.c + db1e96221b78c9edb04889433c4cfceb gcc/testsuite/gcc.target/i386/indirect-thunk-extern-3.c + 30c60bce395af473e6e5c2d4993983d1 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-4.c + c18cb8b6d05ccdaf5b32709c926d064d gcc/testsuite/gcc.target/i386/indirect-thunk-extern-5.c + a4a76dccf77b61a7515f7140cb7b9285 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-6.c + e506915b7dd184f2d562ceb7c6382b46 gcc/testsuite/gcc.target/i386/indirect-thunk-extern-7.c + a371765837086c89059792db2b194819 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-1.c + dcfba2869236846c712674c3c23e4cc0 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-2.c + b229e26bfd55409bc698e4cd4d3cc905 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-3.c + c57dd8cf50eefb5bd2083eb7834c9af2 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-4.c + c521c3c6c64bd07588efc34613c8e39b gcc/testsuite/gcc.target/i386/indirect-thunk-inline-5.c + 7dde9a5f2bdd50ae13358562cde0c346 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-6.c + 3c404f2f6fc975c818cb49d89930fc71 gcc/testsuite/gcc.target/i386/indirect-thunk-inline-7.c + 1a18d20db658bd8f06db72e826e24451 gcc/testsuite/gcc.target/i386/indirect-thunk-register-1.c + 2f7b88c05e6f84c135d8684048b1ddfb gcc/testsuite/gcc.target/i386/indirect-thunk-register-2.c + 0f53eb2f8dd4745fc0d56597a3a5cc39 gcc/testsuite/gcc.target/i386/indirect-thunk-register-3.c + cc84faa83bbaff46af08a97446ceeeb8 gcc/testsuite/gcc.target/i386/indirect-thunk-register-4.c ee5ee3c3feb8c1952691f98991ee7be3 gcc/testsuite/gcc.target/i386/indjmp-1.c aa8a4b5daac0c21a379120ce3ab4e865 gcc/testsuite/gcc.target/i386/inline-mcpy.c e72f30e619db24586870d8d3878cd987 gcc/testsuite/gcc.target/i386/inline_error.c *************** aa248a97cbe08f051083687e27e0719b gcc/te *** 43189,43195 **** 43401f95d22a8a8226f27aa723a8b9ef gcc/testsuite/gcc.target/i386/mpx/memmove-1.c 7cdc59882178cd4bdd753a074f792512 gcc/testsuite/gcc.target/i386/mpx/memmove-2.c f6e4b41ff7eaa14383f0972046922ac6 gcc/testsuite/gcc.target/i386/mpx/memmove-zero-length.c ! 505cd61527275b6dd52c93cae2bbdd23 gcc/testsuite/gcc.target/i386/mpx/mpx-check.h e7346395fc41a0ffcf4c51b6c8b8c2fe gcc/testsuite/gcc.target/i386/mpx/mpx.exp 8e193e782ff975f1d64cbfbc791099ef gcc/testsuite/gcc.target/i386/mpx/nested-function-1-lbv.c a93e49fc7e31188d79f24edeec85af72 gcc/testsuite/gcc.target/i386/mpx/nested-function-1-nov.c --- 43375,43382 ---- 43401f95d22a8a8226f27aa723a8b9ef gcc/testsuite/gcc.target/i386/mpx/memmove-1.c 7cdc59882178cd4bdd753a074f792512 gcc/testsuite/gcc.target/i386/mpx/memmove-2.c f6e4b41ff7eaa14383f0972046922ac6 gcc/testsuite/gcc.target/i386/mpx/memmove-zero-length.c ! b9e59cef814432b25a6048356c04c019 gcc/testsuite/gcc.target/i386/mpx/mpx-check.h ! b3fbcaf22d92c0d9748de908a16f7777 gcc/testsuite/gcc.target/i386/mpx/mpx-os-support.h e7346395fc41a0ffcf4c51b6c8b8c2fe gcc/testsuite/gcc.target/i386/mpx/mpx.exp 8e193e782ff975f1d64cbfbc791099ef gcc/testsuite/gcc.target/i386/mpx/nested-function-1-lbv.c a93e49fc7e31188d79f24edeec85af72 gcc/testsuite/gcc.target/i386/mpx/nested-function-1-nov.c *************** dc70aef8d9d6a48bc893656c83242caf gcc/te *** 43335,43346 **** b64a60177a8e3b93b811d2886a027e4e gcc/testsuite/gcc.target/i386/mpx/union-arg-1-lbv.c 820da7c0ccf5e21adafbcb4828771b55 gcc/testsuite/gcc.target/i386/mpx/union-arg-1-nov.c 9cb3d84f088ac17a24d223acb4560b07 gcc/testsuite/gcc.target/i386/mpx/union-arg-1-ubv.c ! c1e890ccc2ca6016dc7e2d336c75c49a gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-lbv.c ! 956e48eddbe28886dbec44c7ecf29485 gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-nov.c ! 7f8977a6e8b053cfe1a79818a998f0fe gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-ubv.c ! 841e8f2e3753791ce2db81335e9a24d0 gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-lbv.c ! 2dc4243537647ebaf1a451e171f4dd03 gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-nov.c ! 759413f829800ebf4a0d6e68a478d05d gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-ubv.c 509da41e6e0f942fbd4459b8c81a5792 gcc/testsuite/gcc.target/i386/mpx/vararg-1-lbv.c 4bb07503bf5795fb324e54a53e3e1642 gcc/testsuite/gcc.target/i386/mpx/vararg-1-nov.c f08ab86e7ed993136061ba46c8845f6a gcc/testsuite/gcc.target/i386/mpx/vararg-1-ubv.c --- 43522,43533 ---- b64a60177a8e3b93b811d2886a027e4e gcc/testsuite/gcc.target/i386/mpx/union-arg-1-lbv.c 820da7c0ccf5e21adafbcb4828771b55 gcc/testsuite/gcc.target/i386/mpx/union-arg-1-nov.c 9cb3d84f088ac17a24d223acb4560b07 gcc/testsuite/gcc.target/i386/mpx/union-arg-1-ubv.c ! 0ec2d25cc5f08ac08ad8af7b9952665c gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-lbv.c ! 43c58cdb049d575afd964f27e975fd46 gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-nov.c ! cc7960cea09c3812d2fa7a1d1da56880 gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-1-ubv.c ! 8b64d9e6f329820d8dde3e373de7a8f1 gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-lbv.c ! cedbce7ab14e8836e0ebdb55cff5cd4d gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-nov.c ! c62fe33d81180a3154246a9238e01c29 gcc/testsuite/gcc.target/i386/mpx/va-arg-pack-2-ubv.c 509da41e6e0f942fbd4459b8c81a5792 gcc/testsuite/gcc.target/i386/mpx/vararg-1-lbv.c 4bb07503bf5795fb324e54a53e3e1642 gcc/testsuite/gcc.target/i386/mpx/vararg-1-nov.c f08ab86e7ed993136061ba46c8845f6a gcc/testsuite/gcc.target/i386/mpx/vararg-1-ubv.c *************** e9694b4ac41a634860c750f43e4ff35c gcc/te *** 44394,44410 **** --- 44581,44619 ---- 1741f4327b4263e09090e49b0a9ff7e1 gcc/testsuite/gcc.target/i386/pr80298-2.c a68ae3ab97b6d21670085a72bc4277db gcc/testsuite/gcc.target/i386/pr80381.c ccd1c247864f05916416dc77c0aee2d4 gcc/testsuite/gcc.target/i386/pr80569.c + 7095adb94d5c22dd7820cabd3edd706a gcc/testsuite/gcc.target/i386/pr80583.c 0c5a8762e99a86ebb02539f557e3598b gcc/testsuite/gcc.target/i386/pr80706.c + bb36bc80b1317e2a9173fafae3bac834 gcc/testsuite/gcc.target/i386/pr80819-1.c + e4860277aff5bee9717885cd9f34a2aa gcc/testsuite/gcc.target/i386/pr80819-2.c 9c5c11ed0d11d02072a3c3edae9496f7 gcc/testsuite/gcc.target/i386/pr81015.c 9bdf968dfd24f80e026583d0ef721b39 gcc/testsuite/gcc.target/i386/pr81121.c + 4aa131c4fd40500edf612c2566a0a1b2 gcc/testsuite/gcc.target/i386/pr81128.c 727e9852e045506df16768502b0cbe28 gcc/testsuite/gcc.target/i386/pr81225.c dc62d0c848a398624f5cfd76ee220a54 gcc/testsuite/gcc.target/i386/pr81294-1.c e15e55cb65acead9f094048fb6e698b9 gcc/testsuite/gcc.target/i386/pr81294-2.c 80d88d513f3bb1b8ed658fe8c37fb6b0 gcc/testsuite/gcc.target/i386/pr81300.c affabb2536eb040c140a3110204ca3b0 gcc/testsuite/gcc.target/i386/pr81375.c 4a3389f7f2146d2198f9c46d5209ba9f gcc/testsuite/gcc.target/i386/pr81471.c + b9816b57d822b91888e41f297b660efe gcc/testsuite/gcc.target/i386/pr81481.c 6f823ba95e2ef0fb5061621d3fcd985c gcc/testsuite/gcc.target/i386/pr81641.c 056554173d9ac80e5694f760fcde429f gcc/testsuite/gcc.target/i386/pr81766.c + 19b3622fb150753481d323bf9ac175ff gcc/testsuite/gcc.target/i386/pr81906.c + 115b670aa5d368116903b6d6bf4c83ef gcc/testsuite/gcc.target/i386/pr81921.c + c68e8244d2a128db4097c8be34013b64 gcc/testsuite/gcc.target/i386/pr82556.c + 515e5dcd6ad99630111df5a872a15e5d gcc/testsuite/gcc.target/i386/pr82941-1.c + cce8682d8e49dc83cd8b34fceaf37849 gcc/testsuite/gcc.target/i386/pr82941-2.c + 1aea5be2654d4ae28e01b3b0bdbeddc4 gcc/testsuite/gcc.target/i386/pr82942-1.c + e78b9ff33e2bc143eef4c5ce3bc640f4 gcc/testsuite/gcc.target/i386/pr82942-2.c + 0012a85c6be348ae29beb70fd6ff806b gcc/testsuite/gcc.target/i386/pr82990-1.c + 3ad428b83226dbf5b2a87eb43684bff0 gcc/testsuite/gcc.target/i386/pr82990-2.c + 719d3a60657d860175b801b3a2ede1dc gcc/testsuite/gcc.target/i386/pr82990-3.c + 5ddddc7e6b297e35b1bffcfabfc78f47 gcc/testsuite/gcc.target/i386/pr82990-4.c + 2f9f76a6c879b9887bcca49404a95240 gcc/testsuite/gcc.target/i386/pr82990-5.c + d7f60a991290b161c7a4e078936f009e gcc/testsuite/gcc.target/i386/pr82990-6.c + c154f3d5dbf0100ab4daf298da4d51da gcc/testsuite/gcc.target/i386/pr82990-7.c + 4f189869ec48c57ebc59f27fe7a3e028 gcc/testsuite/gcc.target/i386/pr83330.c + cd9a57159b45a8dc9f69fb76dba516c9 gcc/testsuite/gcc.target/i386/pr83467-1.c + f9fd161edde06fb92941f348f3942cd9 gcc/testsuite/gcc.target/i386/pr83467-2.c 849234c7a569c1e86023244bc5561263 gcc/testsuite/gcc.target/i386/pr9771-1.c 24ceb6d5f3f5cde4b9d852839bdb98ae gcc/testsuite/gcc.target/i386/prefetchw-1.c f11f4731c396f099373c033ab016a64f gcc/testsuite/gcc.target/i386/prefetchwt1-1.c *************** e2839913fadc6a00676c8f02deb3f59e gcc/te *** 44433,44438 **** --- 44642,44668 ---- 27b94da412b0e514a304cb667a1125f1 gcc/testsuite/gcc.target/i386/regparm-stdcall.c f460909450afd8b803c32061496a4d75 gcc/testsuite/gcc.target/i386/regparm.c e47bbd1acfd37236fccff011d4c82e82 gcc/testsuite/gcc.target/i386/reload-1.c + e7bdddab413e9342ceea674dcc11efa9 gcc/testsuite/gcc.target/i386/ret-thunk-1.c + f7ddc9357e27cb1a35858228246b103f gcc/testsuite/gcc.target/i386/ret-thunk-10.c + 698bef1f53cf010233e212c8fe19b7ab gcc/testsuite/gcc.target/i386/ret-thunk-11.c + 1e34c804e73f44c3d03b858886434790 gcc/testsuite/gcc.target/i386/ret-thunk-12.c + 643f3ad3cf96563036a9a2bd89dc5511 gcc/testsuite/gcc.target/i386/ret-thunk-13.c + 06360908356b170618f1d1c2b8af0ef6 gcc/testsuite/gcc.target/i386/ret-thunk-14.c + ec8ee957ca4270e5708010918e265a01 gcc/testsuite/gcc.target/i386/ret-thunk-15.c + eab910bbf14695323d54cd2754f6c13c gcc/testsuite/gcc.target/i386/ret-thunk-16.c + cc34b9f508b9c8334f3288b096cb78f7 gcc/testsuite/gcc.target/i386/ret-thunk-17.c + 7d462469a74829644f625dfd13e56245 gcc/testsuite/gcc.target/i386/ret-thunk-18.c + 43b59ba2c7eee4d8d807697e3b13092c gcc/testsuite/gcc.target/i386/ret-thunk-19.c + dd35d0e1f55e30827da00a7a3b72f2fc gcc/testsuite/gcc.target/i386/ret-thunk-2.c + f3573edd139415913734286a945036c2 gcc/testsuite/gcc.target/i386/ret-thunk-20.c + b2806d5288ed6597c93c3c78b98f8d80 gcc/testsuite/gcc.target/i386/ret-thunk-21.c + fd5c5e9bb01a2b8dc7c5f900d1d87998 gcc/testsuite/gcc.target/i386/ret-thunk-3.c + ca53ce2b9665ac27d11a2ef828928360 gcc/testsuite/gcc.target/i386/ret-thunk-4.c + b0ef8962f326b0e0b7e4311f2dc69a16 gcc/testsuite/gcc.target/i386/ret-thunk-5.c + c7853edb1c95703c93c35ebe12f833be gcc/testsuite/gcc.target/i386/ret-thunk-6.c + b51e205421f10208d462405cedb0f344 gcc/testsuite/gcc.target/i386/ret-thunk-7.c + 848e6463fd3be83bbddee8c7c6dbfdf3 gcc/testsuite/gcc.target/i386/ret-thunk-8.c + 909a19120c19fc13bd747c8a92b1fb19 gcc/testsuite/gcc.target/i386/ret-thunk-9.c fe7ee8a9110596ef272c4f9b6ad8adad gcc/testsuite/gcc.target/i386/retarg.c 7a1e62697051aa68ade1f41fac61f6f8 gcc/testsuite/gcc.target/i386/rop1.c 63bd489c03ce382cdba38349c30041ad gcc/testsuite/gcc.target/i386/rotate-1.c *************** caf3aba39c0565b4369f2e0263b16af5 gcc/te *** 46180,46186 **** 6419d1aaea22c0476688f484ac4f0f43 gcc/testsuite/gcc.target/powerpc/const-compare.c 1f7277471f008809ee3572d95097e11a gcc/testsuite/gcc.target/powerpc/copysign128-1.c 4b60a8662648a73cedee85dd08e278eb gcc/testsuite/gcc.target/powerpc/cprophard.c ! 98be4d4ed7e6785f255be162945c09b6 gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c 1fb2215d04b688ce2fdb0faccd58b012 gcc/testsuite/gcc.target/powerpc/crypto-builtin-1.c 14fe4a3bc84df2b97d9440c94d7c8339 gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c 4e3992362b37b544083ac6eaeaa1acca gcc/testsuite/gcc.target/powerpc/ctz-1.c --- 46410,46416 ---- 6419d1aaea22c0476688f484ac4f0f43 gcc/testsuite/gcc.target/powerpc/const-compare.c 1f7277471f008809ee3572d95097e11a gcc/testsuite/gcc.target/powerpc/copysign128-1.c 4b60a8662648a73cedee85dd08e278eb gcc/testsuite/gcc.target/powerpc/cprophard.c ! ceee196d52c1e634069b5d122f09e1ae gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c 1fb2215d04b688ce2fdb0faccd58b012 gcc/testsuite/gcc.target/powerpc/crypto-builtin-1.c 14fe4a3bc84df2b97d9440c94d7c8339 gcc/testsuite/gcc.target/powerpc/crypto-builtin-2.c 4e3992362b37b544083ac6eaeaa1acca gcc/testsuite/gcc.target/powerpc/ctz-1.c *************** a1a29a276bb3f6f8436c361b1ef31e74 gcc/te *** 46654,46663 **** --- 46884,46895 ---- c9d28f12142b7a930625854f8a516817 gcc/testsuite/gcc.target/powerpc/pr71977-1.c dbd0e190ff3cfe7ee4d447cd76f56dc0 gcc/testsuite/gcc.target/powerpc/pr71977-2.c 38b7723cf756d98e0ed05ddda91d13e3 gcc/testsuite/gcc.target/powerpc/pr72717.c + 93265198c16d9ecf158a219f866ac902 gcc/testsuite/gcc.target/powerpc/pr72804.c 3c47d5ea6e68caafb336f0c2f694fea6 gcc/testsuite/gcc.target/powerpc/pr72853.c d13df2d4752807dad63a970f45225730 gcc/testsuite/gcc.target/powerpc/pr72863.c 73ad369c9c464432e372b604c59a1eee gcc/testsuite/gcc.target/powerpc/pr77289.c c827dbb0852a2d8ce87abaf414c9ea2d gcc/testsuite/gcc.target/powerpc/pr77416.c + ad6a1f1ff4c5f5f604858aaf552068c2 gcc/testsuite/gcc.target/powerpc/pr77687.c 3f243eca6047477f2cc97272970035eb gcc/testsuite/gcc.target/powerpc/pr78056-1.c 0c9a61ae785a4f93a5a6acfd111db302 gcc/testsuite/gcc.target/powerpc/pr78056-2.c 71779048183aa3f22e9d73d794b7ea34 gcc/testsuite/gcc.target/powerpc/pr78056-3.c *************** d216c565fe7e49c6d18dc42e4a01b80a gcc/te *** 46698,46705 **** --- 46930,46940 ---- f836e066bf7362a4c98962931153e731 gcc/testsuite/gcc.target/powerpc/pr80099-3.c 6ff9911eb69017df6937bbfdbfabcaea gcc/testsuite/gcc.target/powerpc/pr80099-4.c 641c02efa8079ef3086b94358b04dbbe gcc/testsuite/gcc.target/powerpc/pr80099-5.c + e3724d1b8faf6dcacb8d047defe64496 gcc/testsuite/gcc.target/powerpc/pr80101-1.c a63b5847eb3daabd4a56b649ab602f4c gcc/testsuite/gcc.target/powerpc/pr80103-1.c 66ae7647dd692b6ddc6355ddda4f0fa6 gcc/testsuite/gcc.target/powerpc/pr80125.c + 0c08f4c83d90538f2c1ff74965ce6a2b gcc/testsuite/gcc.target/powerpc/pr80210-2.c + 32dc6ec7c4a1a3cefe2efbb3b602ef2c gcc/testsuite/gcc.target/powerpc/pr80210.c c74100b0e24e645cbd51ff8d93f11730 gcc/testsuite/gcc.target/powerpc/pr80246.c 48b0be6624ec7da3e1b6d6960a387eb4 gcc/testsuite/gcc.target/powerpc/pr80315-1.c a785c87023230fc38c0566147850dc7c gcc/testsuite/gcc.target/powerpc/pr80315-2.c *************** ec245c99d37391d98e0206a55deeecc7 gcc/te *** 46708,46716 **** --- 46943,46959 ---- 735f25ac91d08f3de3f9e159e3752531 gcc/testsuite/gcc.target/powerpc/pr80343.c 72ae35ee6424648259ebc86bd0a39eac gcc/testsuite/gcc.target/powerpc/pr80510-1.c d47ea1598c1321fc4399901853c2e875 gcc/testsuite/gcc.target/powerpc/pr80510-2.c + 77a5e775e41230e0965d55e156a3cd4a gcc/testsuite/gcc.target/powerpc/pr80695-p8.c + 6998ed5bc17f2c2cae45a8fe179c2d16 gcc/testsuite/gcc.target/powerpc/pr80695-p9.c 12068e972df8c5dd156551254f178638 gcc/testsuite/gcc.target/powerpc/pr80718.c 301df4d12681f11583133c52aaa21227 gcc/testsuite/gcc.target/powerpc/pr81348.c d8a50436a257e5e490d186255b113b43 gcc/testsuite/gcc.target/powerpc/pr81622.c + 91aa94bfbc5294b4a595ae532afc83cc gcc/testsuite/gcc.target/powerpc/pr81833-1.c + 19cfa2a5c1f2939acd4ac7362754d9b0 gcc/testsuite/gcc.target/powerpc/pr81833-2.c + 8594eb52b8a7ff0cff5ca6a853090510 gcc/testsuite/gcc.target/powerpc/pr81959.c + 118dd26456facc5560611716506ec4a3 gcc/testsuite/gcc.target/powerpc/pr82112.c + af41d1f7ab09c5aeb8e8a2984b5dab5b gcc/testsuite/gcc.target/powerpc/pr83629.c + d301886da183d8d6d112b1ec7d01024d gcc/testsuite/gcc.target/powerpc/pr83677.c 17f878b62dd2e08735d53fce64232a47 gcc/testsuite/gcc.target/powerpc/quad-atomic.c 171a411d14f30e8450dc3f2ef38b1bd7 gcc/testsuite/gcc.target/powerpc/recip-1.c 6b7c4920c070e84f6819377bcdb90c0d gcc/testsuite/gcc.target/powerpc/recip-2.c *************** bf385d7310a8dab90ee44f86832aa03b gcc/te *** 46751,46756 **** --- 46994,47007 ---- afd35ba530c1198a75e9e1a79650add6 gcc/testsuite/gcc.target/powerpc/rs6000-ldouble-1.c 7aacc521251d44cf2fa3a75a564c4270 gcc/testsuite/gcc.target/powerpc/rs6000-ldouble-2.c b21c33d525f0c97602d4a2348994de36 gcc/testsuite/gcc.target/powerpc/rs6000-ldouble-3.c + 589b520b24be329639b6a19bf46a21be gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-1.c + 991657dd32fa10208631317b8b971fc8 gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-2.c + 185454bb81c4040670a29160d3887ae5 gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-3.c + 12993ee5ee0dfc0b45dc8aeeffb00431 gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-4.c + a9f59812e009ec10fa71a45c0eb87893 gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-5.c + 9cfacfcd00bdbf48ea7285479e96fad9 gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-6.c + 1ebc8b36658f5a909752cc23480793d6 gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-7.c + c15cdd2288e98bbf31d2967424ef41a2 gcc/testsuite/gcc.target/powerpc/safe-indirect-jump-8.c f66a7c7a9b7cdd49a6b9860dbb16d90a gcc/testsuite/gcc.target/powerpc/savres.c 98a0676ba42103cce9e60b2313f8b2ef gcc/testsuite/gcc.target/powerpc/sd-pwr6.c 65a53924a48d5df99017fa40a01962f4 gcc/testsuite/gcc.target/powerpc/sd-vsx.c *************** e091bd72e4f1d4f30c1cae31bc637af8 gcc/te *** 46870,46875 **** --- 47121,47131 ---- 482b9b1b76b04a1d88ef2005c8cb3434 gcc/testsuite/gcc.target/powerpc/vec-set-char.c 45adb3d4e0f9fc3a3da3b6588fb0371d gcc/testsuite/gcc.target/powerpc/vec-set-int.c f7f85077552bf213e30bf9933b67dbee gcc/testsuite/gcc.target/powerpc/vec-set-short.c + f61dde83045622013a9f854e004ebb31 gcc/testsuite/gcc.target/powerpc/vec-setup-be-double.c + 3c3394dfdb1989129c715246de336ddc gcc/testsuite/gcc.target/powerpc/vec-setup-be-long.c + 0f558496ddbe67d86ad3a904b74a9976 gcc/testsuite/gcc.target/powerpc/vec-setup-double.c + 4033d9346e564b4afb0c33b67995a199 gcc/testsuite/gcc.target/powerpc/vec-setup-long.c + b64815bd648790f932a5ad69bfda140b gcc/testsuite/gcc.target/powerpc/vec-setup.h bbd74596ca12fe9aac0347c6253db300 gcc/testsuite/gcc.target/powerpc/vec-shift.c 8ee50015e788404267646adf1ac95972 gcc/testsuite/gcc.target/powerpc/vec-shr.c 2f7d0faae17249a4c0239bf8d90e399a gcc/testsuite/gcc.target/powerpc/vec-xxpermdi.c *************** ad77cf7854ac810c73e5ad0184232f20 gcc/te *** 47002,47007 **** --- 47258,47265 ---- e4ac7f141f61cf4cf8934fe3ee7cf407 gcc/testsuite/gcc.target/powerpc/vsx-extract-3.c 5d9954b1c4d0bad6c1879667cd5d5042 gcc/testsuite/gcc.target/powerpc/vsx-extract-4.c 1bd5c1e28ec364fdd845a9e6a7cf6aec gcc/testsuite/gcc.target/powerpc/vsx-extract-5.c + d7469557e85d85a69ef07fd54698e9ab gcc/testsuite/gcc.target/powerpc/vsx-extract-6.c + 41e7ca8976b463f66edc46b546b64718 gcc/testsuite/gcc.target/powerpc/vsx-extract-7.c 91fc70d5de085e5b429a41f63786468c gcc/testsuite/gcc.target/powerpc/vsx-float0.c 8082d80c41a30b86c76de9af46e820a4 gcc/testsuite/gcc.target/powerpc/vsx-himode.c 171658bcbc23affe71e4f623de4d01bd gcc/testsuite/gcc.target/powerpc/vsx-himode2.c *************** e3bb35a748eed44522e5a2c187cf22f8 gcc/te *** 47033,47038 **** --- 47291,47298 ---- 8b5c58cdeae1cc3d92696c3c863690e8 gcc/testsuite/gcc.target/powerpc/warn-1.c c88c25be01895313981c649a1f57b4c6 gcc/testsuite/gcc.target/powerpc/warn-2.c a416d38760a620b535b56c151a15e3f4 gcc/testsuite/gcc.target/powerpc/warn-lvsl-lvsr.c + e38cc032ecb8846b9483954c34ed88b9 gcc/testsuite/gcc.target/riscv/riscv.exp + 6bd569a0881471228538a06acf78338a gcc/testsuite/gcc.target/riscv/save-restore-1.c 1e57f96eb8dd84bbb02349afb5597be9 gcc/testsuite/gcc.target/rl78/rl78.exp 08a6a665d3a592b70dd51e3b59945801 gcc/testsuite/gcc.target/rl78/test_addm3.c 98f7b6c0475f99b06b8ecb140f1be921 gcc/testsuite/gcc.target/rx/builtins.c *************** aac08746a1749b4611104688b026a672 gcc/te *** 48171,48177 **** 231853ec949fed3197cd7b9550dccdae gcc/testsuite/gfortran.dg/alloc_comp_auto_array_1.f90 9fc8324fd5ca1c607ae169dcec8cc7a6 gcc/testsuite/gfortran.dg/alloc_comp_auto_array_2.f90 71efc95b03105a916c949839be8aec51 gcc/testsuite/gfortran.dg/alloc_comp_auto_array_3.f90 ! d285c2c812d1b2d0639bc8bf1329f835 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 6e253e7e71bc8f971291913c72ccf77d gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90 --- 48431,48437 ---- 231853ec949fed3197cd7b9550dccdae gcc/testsuite/gfortran.dg/alloc_comp_auto_array_1.f90 9fc8324fd5ca1c607ae169dcec8cc7a6 gcc/testsuite/gfortran.dg/alloc_comp_auto_array_2.f90 71efc95b03105a916c949839be8aec51 gcc/testsuite/gfortran.dg/alloc_comp_auto_array_3.f90 ! b7632688c0f7c6cb990aa4d22b415474 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 6e253e7e71bc8f971291913c72ccf77d gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90 *************** fa4377be01ca69ae5c5bef2dac378c95 gcc/te *** 48240,48246 **** aad2f9f0db664a3b7edac15f2083c164 gcc/testsuite/gfortran.dg/allocatable_scalar_6.f90 0cf46fb1b972cef547a15b98c99067ed gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90 fea5e495c3693fa83e789fad350b77c1 gcc/testsuite/gfortran.dg/allocatable_scalar_8.f90 ! fb17212c87dd4cfa432f6761b167a276 gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 b2bb9a39d2749a07d2ef93fb4bd4b9b1 gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 a85311f77c807137eeb26b218ec3a3e4 gcc/testsuite/gfortran.dg/allocate_alloc_opt_10.f90 da5d5b7965daec91596c4c854f913229 gcc/testsuite/gfortran.dg/allocate_alloc_opt_11.f90 --- 48500,48506 ---- aad2f9f0db664a3b7edac15f2083c164 gcc/testsuite/gfortran.dg/allocatable_scalar_6.f90 0cf46fb1b972cef547a15b98c99067ed gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90 fea5e495c3693fa83e789fad350b77c1 gcc/testsuite/gfortran.dg/allocatable_scalar_8.f90 ! 4a889a7fef27e234354d8ab8c8afda42 gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 b2bb9a39d2749a07d2ef93fb4bd4b9b1 gcc/testsuite/gfortran.dg/allocate_alloc_opt_1.f90 a85311f77c807137eeb26b218ec3a3e4 gcc/testsuite/gfortran.dg/allocate_alloc_opt_10.f90 da5d5b7965daec91596c4c854f913229 gcc/testsuite/gfortran.dg/allocate_alloc_opt_11.f90 *************** d2e2db611a120ae0c8ccc46d77f60b4f gcc/te *** 48254,48259 **** --- 48514,48520 ---- 597103d48c04622391db357f32409a4d gcc/testsuite/gfortran.dg/allocate_alloc_opt_7.f90 5e798936b9fb2d772485a6a5a7fc344f gcc/testsuite/gfortran.dg/allocate_alloc_opt_8.f90 90a5c6f59d30dae22d02074a82b8cf2d gcc/testsuite/gfortran.dg/allocate_alloc_opt_9.f90 + b4a7703b0fdb74fb104e9430417f16e6 gcc/testsuite/gfortran.dg/allocate_assumed_charlen_1.f90 7ad72f1f76221dbdec0ab077ae3b8dd8 gcc/testsuite/gfortran.dg/allocate_char_star_scalar_1.f90 c8af6a632c789d3dc3fb0b76448852dd gcc/testsuite/gfortran.dg/allocate_class_1.f90 5d06d590dfc06d981d4fd70c9246eb64 gcc/testsuite/gfortran.dg/allocate_class_2.f90 *************** f365398908b2ecaec275ddf13d417ae8 gcc/te *** 48307,48312 **** --- 48568,48574 ---- 91f1527d8c74a6e2b38b097aac4e9aa7 gcc/testsuite/gfortran.dg/allocate_with_typespec_4.f90 a7ba3204ddef00d1d0278c5b0eba1e4a gcc/testsuite/gfortran.dg/allocate_with_typespec_5.f90 a400c157529619600d21c8ab0d9d4ccc gcc/testsuite/gfortran.dg/allocate_with_typespec_6.f90 + fe3a537d232e11c904ccb01a3aab7662 gcc/testsuite/gfortran.dg/allocate_with_typespec_7.f90 b2726c808fbff578b101a8bd04559d31 gcc/testsuite/gfortran.dg/allocate_zerosize_1.f90 12f3d33d5ae0d7cf655d8f39f073d9a9 gcc/testsuite/gfortran.dg/allocate_zerosize_2.f90 dfe83972bd363b408d4abcf6d4b7ad17 gcc/testsuite/gfortran.dg/allocate_zerosize_3.f *************** bbbfd35fcaf4fb0a059b62fed067d6b8 gcc/te *** 48425,48430 **** --- 48687,48693 ---- 92222a7dd31525df7e2634672463204c gcc/testsuite/gfortran.dg/array_constructor_type_2.f03 e3550741128a8b20f15cb6bdad6fb91e gcc/testsuite/gfortran.dg/array_constructor_type_20.f03 0e33a200efb3c9ada5441e658cdcfc79 gcc/testsuite/gfortran.dg/array_constructor_type_21.f03 + 0e48e37cbf531efc077cea1c06bda62d gcc/testsuite/gfortran.dg/array_constructor_type_22.f03 0a880ac80cd5e88b11e97a6f5dd7cbb4 gcc/testsuite/gfortran.dg/array_constructor_type_3.f03 a307d1f7f7c7c0cf222c6185515f1ad4 gcc/testsuite/gfortran.dg/array_constructor_type_4.f03 a665074c9d37da1eeb1d261fe4259056 gcc/testsuite/gfortran.dg/array_constructor_type_5.f03 *************** f5353af0320c98076a2cef99b20b32d5 gcc/te *** 48457,48462 **** --- 48720,48726 ---- eaa667329c0ac254f7386a2733317553 gcc/testsuite/gfortran.dg/array_temporaries_1.f90 ef0448750b54bdfee0bf2b23c2eb77bf gcc/testsuite/gfortran.dg/array_temporaries_2.f90 e91eb75619ee2c34111f64e6f824abb3 gcc/testsuite/gfortran.dg/array_temporaries_3.f90 + 1a5fac20b3c5bae4bfab9480278e61ab gcc/testsuite/gfortran.dg/array_temporaries_4.f90 63d876b9a58e7a10ea9368ee778012a7 gcc/testsuite/gfortran.dg/arrayio_0.f90 4ba1e87f7a6ad266a9d23d91d2a295f6 gcc/testsuite/gfortran.dg/arrayio_1.f90 bab9a93e2fbce2377987fb7f67e82a7a gcc/testsuite/gfortran.dg/arrayio_10.f90 *************** c066328da870ad9b313bf9491c5b72d6 gcc/te *** 48509,48521 **** 79c66e6ef8d2160f4b4fcb4c44322791 gcc/testsuite/gfortran.dg/associate_21.f90 8af1b6b8d72f3c807df4def38ed13d8c gcc/testsuite/gfortran.dg/associate_22.f90 5b5357774a2f8eb00f77bc3c7c791ad9 gcc/testsuite/gfortran.dg/associate_23.f90 ada9a3758cef9c8c02a55f1139c4f13b gcc/testsuite/gfortran.dg/associate_3.f03 a1f5f0d8423367d45fe9382b407ce7e9 gcc/testsuite/gfortran.dg/associate_4.f08 5dfaf5e9c3d8b8b8f835046ca42ccbf4 gcc/testsuite/gfortran.dg/associate_5.f03 b9a80d4815a13a74f89c8e64782f5c16 gcc/testsuite/gfortran.dg/associate_6.f03 794e238fe8d1288b6698f51d3c536d13 gcc/testsuite/gfortran.dg/associate_7.f03 85288186efa05a973348b7811b9ef6bd gcc/testsuite/gfortran.dg/associate_8.f03 ! 83d2b39ebdfe56a152e84963a85e2133 gcc/testsuite/gfortran.dg/associate_9.f03 514e25cca6e1b2c448e16c8d7106a6ca gcc/testsuite/gfortran.dg/associated_1.f90 0acf70526e24bbdc87a58040093f4b0b gcc/testsuite/gfortran.dg/associated_2.f90 dd5a4a295ba62a8846fa5d3878b5dfa6 gcc/testsuite/gfortran.dg/associated_3.f90 --- 48773,48790 ---- 79c66e6ef8d2160f4b4fcb4c44322791 gcc/testsuite/gfortran.dg/associate_21.f90 8af1b6b8d72f3c807df4def38ed13d8c gcc/testsuite/gfortran.dg/associate_22.f90 5b5357774a2f8eb00f77bc3c7c791ad9 gcc/testsuite/gfortran.dg/associate_23.f90 + c0997c9e951767642f9b109c7f40a532 gcc/testsuite/gfortran.dg/associate_26.f90 + 4b9b0ccd789fc7a96fd32e1478a0d390 gcc/testsuite/gfortran.dg/associate_27.f90 + 0035e7a4d34420e29e254e40238cdb9c gcc/testsuite/gfortran.dg/associate_28.f90 + 9236179c94e8ef2f6258dcf917d9dee9 gcc/testsuite/gfortran.dg/associate_29.f90 ada9a3758cef9c8c02a55f1139c4f13b gcc/testsuite/gfortran.dg/associate_3.f03 + 49705e479c6ca71ab3678aef4ee07687 gcc/testsuite/gfortran.dg/associate_30.f90 a1f5f0d8423367d45fe9382b407ce7e9 gcc/testsuite/gfortran.dg/associate_4.f08 5dfaf5e9c3d8b8b8f835046ca42ccbf4 gcc/testsuite/gfortran.dg/associate_5.f03 b9a80d4815a13a74f89c8e64782f5c16 gcc/testsuite/gfortran.dg/associate_6.f03 794e238fe8d1288b6698f51d3c536d13 gcc/testsuite/gfortran.dg/associate_7.f03 85288186efa05a973348b7811b9ef6bd gcc/testsuite/gfortran.dg/associate_8.f03 ! 0a58bde8f91285893842eb12b3bd936e gcc/testsuite/gfortran.dg/associate_9.f03 514e25cca6e1b2c448e16c8d7106a6ca gcc/testsuite/gfortran.dg/associated_1.f90 0acf70526e24bbdc87a58040093f4b0b gcc/testsuite/gfortran.dg/associated_2.f90 dd5a4a295ba62a8846fa5d3878b5dfa6 gcc/testsuite/gfortran.dg/associated_3.f90 *************** b91d322e1b2019704eecd255b73974e3 gcc/te *** 48567,48572 **** --- 48836,48842 ---- 38b96d93ac6e0f9b41ba46f0e5089131 gcc/testsuite/gfortran.dg/assumed_shape_ranks_1.f90 042535d44d0c5da0bb20634d7a1a0de6 gcc/testsuite/gfortran.dg/assumed_shape_ranks_2.f90 bd5ff6db107b9430b2910d499614a059 gcc/testsuite/gfortran.dg/assumed_size_1.f90 + f38416d17dca3a9330976fd24749e371 gcc/testsuite/gfortran.dg/assumed_size_2.f90 cdbd174fba27a1cc2fe42d6e10b97afd gcc/testsuite/gfortran.dg/assumed_size_dt_dummy.f90 84023ba758ead2b3e1f8613aa07f564c gcc/testsuite/gfortran.dg/assumed_size_refs_1.f90 8a906da2dd57160bc40a533546e0e98c gcc/testsuite/gfortran.dg/assumed_size_refs_2.f90 *************** eb841a974c7fa19b58afba3c772bb55d gcc/te *** 48595,48601 **** 112bf7a18b812bb963e8c18d6af80738 gcc/testsuite/gfortran.dg/auto_char_len_3.f90 1e47b587f8ee47fa0833f5f318257ccb gcc/testsuite/gfortran.dg/auto_char_len_4.f90 7657b0c01147202a02e93da740397d56 gcc/testsuite/gfortran.dg/auto_char_pointer_array_result_1.f90 ! 369ea6dcaecde6d9e770a8fc6b2ce92d gcc/testsuite/gfortran.dg/auto_dealloc_1.f90 f7d3d9af465511a1a9ca5340ae336a78 gcc/testsuite/gfortran.dg/auto_dealloc_2.f90 17e7238834a16b4bc23c3e0a89357cd0 gcc/testsuite/gfortran.dg/auto_internal_assumed.f90 50416b575a9dc0ce0b31e79a3b9b7f8c gcc/testsuite/gfortran.dg/auto_pointer_array_result_1.f90 --- 48865,48871 ---- 112bf7a18b812bb963e8c18d6af80738 gcc/testsuite/gfortran.dg/auto_char_len_3.f90 1e47b587f8ee47fa0833f5f318257ccb gcc/testsuite/gfortran.dg/auto_char_len_4.f90 7657b0c01147202a02e93da740397d56 gcc/testsuite/gfortran.dg/auto_char_pointer_array_result_1.f90 ! 26a74c02ca0f14bcd415e65e87c265de gcc/testsuite/gfortran.dg/auto_dealloc_1.f90 f7d3d9af465511a1a9ca5340ae336a78 gcc/testsuite/gfortran.dg/auto_dealloc_2.f90 17e7238834a16b4bc23c3e0a89357cd0 gcc/testsuite/gfortran.dg/auto_internal_assumed.f90 50416b575a9dc0ce0b31e79a3b9b7f8c gcc/testsuite/gfortran.dg/auto_pointer_array_result_1.f90 *************** dd2c7b1cf9668f23e882c3d64580ab34 gcc/te *** 49104,49109 **** --- 49374,49383 ---- e8904afb9adfeb76555179cf83d18504 gcc/testsuite/gfortran.dg/class_60.f90 0d77f03fd7fa41cc7efc9bf5d51b1b81 gcc/testsuite/gfortran.dg/class_61.f90 28b51cf2f3868e0d992356221459b6b8 gcc/testsuite/gfortran.dg/class_62.f90 + 96edfbbf02b9106a48eb73f24d4ea360 gcc/testsuite/gfortran.dg/class_63.f90 + 0ce4624d38091f6542bcf6fab4486b51 gcc/testsuite/gfortran.dg/class_64.f90 + 123e8fdbca935f6b90c89e509f0a97f7 gcc/testsuite/gfortran.dg/class_65.f90 + 6cc892c72c07b16501f3fb172d19f06e gcc/testsuite/gfortran.dg/class_66.f90 cc0c048415b8d0593fe7e5b164763dc7 gcc/testsuite/gfortran.dg/class_7.f03 765b5ae237d318aee8909def266c457e gcc/testsuite/gfortran.dg/class_8.f03 dac9a57a157d95214c44d80cc02bd042 gcc/testsuite/gfortran.dg/class_9.f03 *************** dbc20d52e3c86639db916ad3c6392de8 gcc/te *** 49169,49174 **** --- 49443,49450 ---- 3b8f230b7e31089a91042ffa36e727e5 gcc/testsuite/gfortran.dg/class_result_2.f90 12a03293fb1e007e7adb6942bfd53336 gcc/testsuite/gfortran.dg/class_result_3.f90 6b5e22364a04ac278db525f084255294 gcc/testsuite/gfortran.dg/class_result_4.f90 + 8746ede5426086e012fc58165b5830c1 gcc/testsuite/gfortran.dg/class_result_5.f90 + 894cc2b33f311beb495041521f42028a gcc/testsuite/gfortran.dg/class_result_6.f90 5d07b7c2ecf498e131ae5188ddbe6b92 gcc/testsuite/gfortran.dg/class_to_type_1.f03 21073ee635adb08a389a867157f17f96 gcc/testsuite/gfortran.dg/class_to_type_2.f90 c9fdcdd06c1c6e20c522e1369363b98c gcc/testsuite/gfortran.dg/class_to_type_3.f03 *************** ceddb6136040087e15f0d2fdf1474cb6 gcc/te *** 49225,49230 **** --- 49501,49507 ---- f74ccffe9729045ba4061775e2d10960 gcc/testsuite/gfortran.dg/coarray/scalar_alloc_1.f90 9b4e39782c54b93d20ce89aae6042441 gcc/testsuite/gfortran.dg/coarray/scalar_alloc_2.f90 01329fb6b8f74096c9ef2b3f621a3a41 gcc/testsuite/gfortran.dg/coarray/send_array.f90 + 6fe98f70ffae0920ca5411e7edd1afd5 gcc/testsuite/gfortran.dg/coarray/send_char_array_1.f90 3c015c26017630e11b5f58786fa9b766 gcc/testsuite/gfortran.dg/coarray/sendget_array.f90 3e02c7e9c64dcef76ab4fc3f8db928c1 gcc/testsuite/gfortran.dg/coarray/stopped_images_1.f08 ab6cc384c283380a5b6bdf00c3fbeb30 gcc/testsuite/gfortran.dg/coarray/stopped_images_2.f08 *************** cfe684f5b35d41e24c9205e3f305bb02 gcc/te *** 49330,49336 **** d88ff2ab0c2de5894fe654132c28ab51 gcc/testsuite/gfortran.dg/coarray_lib_alloc_4.f90 8e31c01a9045465f1ee783ec7168be81 gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f90 fb3fff2823ee279a3e0c3a44eb7956ab gcc/testsuite/gfortran.dg/coarray_lib_move_alloc_1.f90 ! a8e5eb5536f0cb660f36f29813b32a44 gcc/testsuite/gfortran.dg/coarray_lib_realloc_1.f90 86e1c68d070859c3fb832b2183d75771 gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90 54439b9710fb4d3555a1d536e5128a63 gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90 21ab4c56d52dddd9407f1ffff6158807 gcc/testsuite/gfortran.dg/coarray_lib_token_1.f90 --- 49607,49613 ---- d88ff2ab0c2de5894fe654132c28ab51 gcc/testsuite/gfortran.dg/coarray_lib_alloc_4.f90 8e31c01a9045465f1ee783ec7168be81 gcc/testsuite/gfortran.dg/coarray_lib_comm_1.f90 fb3fff2823ee279a3e0c3a44eb7956ab gcc/testsuite/gfortran.dg/coarray_lib_move_alloc_1.f90 ! 8e6320cab0d0a19628f0d163955d0f9a gcc/testsuite/gfortran.dg/coarray_lib_realloc_1.f90 86e1c68d070859c3fb832b2183d75771 gcc/testsuite/gfortran.dg/coarray_lib_this_image_1.f90 54439b9710fb4d3555a1d536e5128a63 gcc/testsuite/gfortran.dg/coarray_lib_this_image_2.f90 21ab4c56d52dddd9407f1ffff6158807 gcc/testsuite/gfortran.dg/coarray_lib_token_1.f90 *************** c26c871bf08605ce024253a49da3b53a gcc/te *** 49613,49618 **** --- 49890,49896 ---- 1c4f05212f5447da65bd477a1f755ce9 gcc/testsuite/gfortran.dg/deferred_character_15.f90 bcdb84ffa3c50231ecd967d3114134ae gcc/testsuite/gfortran.dg/deferred_character_16.f90 c2d3fe3d7d640f7941cc2bc632a62dae gcc/testsuite/gfortran.dg/deferred_character_17.f90 + 1a26e360dc164c3593384827ba0ea576 gcc/testsuite/gfortran.dg/deferred_character_18.f90 0065ab4e114bfcdbbb2b3374d1ffdc63 gcc/testsuite/gfortran.dg/deferred_character_2.f90 dfd1a256ace2833d668ae709e8f43f9e gcc/testsuite/gfortran.dg/deferred_character_3.f90 1d0633419cdd140f8ca51872f6219b2d gcc/testsuite/gfortran.dg/deferred_character_4.f90 *************** e08a65ae23ffa55d956b33c09e1c4cb8 gcc/te *** 49735,49740 **** --- 50013,50019 ---- a466fd6c42d7959249200b6a5f8d0976 gcc/testsuite/gfortran.dg/derived_init_1.f90 50df0f0ca74b6d1ce1bf210729d0571f gcc/testsuite/gfortran.dg/derived_init_2.f90 fc282adfa584992baca2c49e1159c999 gcc/testsuite/gfortran.dg/derived_init_3.f90 + d27bb9e22541996b55df9f830715f098 gcc/testsuite/gfortran.dg/derived_init_4.f90 bfacdce690dd804fd8596a41cca5e1d8 gcc/testsuite/gfortran.dg/derived_name_1.f90 83e722dbb79574dcea48de4b591f9764 gcc/testsuite/gfortran.dg/derived_name_2.f fce84d21ee6ff370ffe985495a21211b gcc/testsuite/gfortran.dg/derived_pointer_null_1.f90 *************** b77540934baa222e51abc3df6ff7017e gcc/te *** 49803,49809 **** 2d79b0cd7006646e8d77ada2e733efa5 gcc/testsuite/gfortran.dg/dtio_1.f90 c0457b2d3e2d61eb22bdc15e5b3044e9 gcc/testsuite/gfortran.dg/dtio_10.f90 3562eeed3364b43ff9bf9c2e9f1a5629 gcc/testsuite/gfortran.dg/dtio_11.f90 ! e2de7a8032ba651341bbc6c55ee77a06 gcc/testsuite/gfortran.dg/dtio_12.f90 130bf410c52e7527d3956ceb4733256e gcc/testsuite/gfortran.dg/dtio_13.f90 aff433ba8d0749dd17c2a5a870d1dd50 gcc/testsuite/gfortran.dg/dtio_14.f90 839dd54626db1af235d841316c59148b gcc/testsuite/gfortran.dg/dtio_15.f90 --- 50082,50088 ---- 2d79b0cd7006646e8d77ada2e733efa5 gcc/testsuite/gfortran.dg/dtio_1.f90 c0457b2d3e2d61eb22bdc15e5b3044e9 gcc/testsuite/gfortran.dg/dtio_10.f90 3562eeed3364b43ff9bf9c2e9f1a5629 gcc/testsuite/gfortran.dg/dtio_11.f90 ! 2a2669c9658f161db6e816fe43afb240 gcc/testsuite/gfortran.dg/dtio_12.f90 130bf410c52e7527d3956ceb4733256e gcc/testsuite/gfortran.dg/dtio_13.f90 aff433ba8d0749dd17c2a5a870d1dd50 gcc/testsuite/gfortran.dg/dtio_14.f90 839dd54626db1af235d841316c59148b gcc/testsuite/gfortran.dg/dtio_15.f90 *************** e318befd0c3b18d7301d38ff5b28f23a gcc/te *** 49991,49996 **** --- 50270,50276 ---- 45574735841eba4b3b61909348336fcb gcc/testsuite/gfortran.dg/equiv_constraint_8.f90 d9dcad9e03bd8c27d5f76eaa4cf71a0e gcc/testsuite/gfortran.dg/equiv_constraint_9.f90 6a23911290c611310b0fa83dd28addb1 gcc/testsuite/gfortran.dg/equiv_constraint_bind_c.f90 + 99482fdb2fae9268b6d2c4fa63901d2a gcc/testsuite/gfortran.dg/equiv_pure.f90 7068ea1b9ef6f4e1c0602de0112c99c8 gcc/testsuite/gfortran.dg/equiv_substr.f90 1a93c19b7b17152e8d50abaa1075e512 gcc/testsuite/gfortran.dg/erf.f90 604dd8597b2f16715ae50fb1f754e243 gcc/testsuite/gfortran.dg/erf_2.F90 *************** fb235ce4282f67d4a702c173152e416f gcc/te *** 50011,50016 **** --- 50291,50297 ---- 179a59ec9b4c69617eb006b728b3cabc gcc/testsuite/gfortran.dg/error_stop_4.f90 0ca82a84dc74da448e40d93f3315da3f gcc/testsuite/gfortran.dg/execute_command_line_1.f90 fadf7b8cfcfdf666b5255138b25f11f3 gcc/testsuite/gfortran.dg/execute_command_line_2.f90 + 0023dac255122c19e53ce47a35916ee5 gcc/testsuite/gfortran.dg/execute_command_line_3.f90 b3d836c21b21e9a9c286cec049d09f39 gcc/testsuite/gfortran.dg/exit_1.f08 3caf7d42fa2f30bfa956eeb72b42bef2 gcc/testsuite/gfortran.dg/exit_2.f08 dc477d471c26336a1e32bb016376bc9d gcc/testsuite/gfortran.dg/exit_3.f08 *************** d88c4f69c4e8abbcf539c35db1c38c47 gcc/te *** 50089,50095 **** 7777e7da27f0f204cb380c5791769371 gcc/testsuite/gfortran.dg/finalize_24.f90 9d8695ba5d9b84a617601b19fbc15f3e gcc/testsuite/gfortran.dg/finalize_25.f90 41d2ab1f1acf2bfddbbdceb10c9ae399 gcc/testsuite/gfortran.dg/finalize_27.f90 ! 35765b76a6036e3cabd02fe4ff0f35df gcc/testsuite/gfortran.dg/finalize_28.f90 b0b40e9272a3a3ddc92029a3f499ef91 gcc/testsuite/gfortran.dg/finalize_29.f08 fd6f56591cff43978fb9e37af994eec0 gcc/testsuite/gfortran.dg/finalize_3.f03 e100c711627c65e22ec895f123885efe gcc/testsuite/gfortran.dg/finalize_30.f90 --- 50370,50376 ---- 7777e7da27f0f204cb380c5791769371 gcc/testsuite/gfortran.dg/finalize_24.f90 9d8695ba5d9b84a617601b19fbc15f3e gcc/testsuite/gfortran.dg/finalize_25.f90 41d2ab1f1acf2bfddbbdceb10c9ae399 gcc/testsuite/gfortran.dg/finalize_27.f90 ! efc9cd9348a3f56180139e80d960002c gcc/testsuite/gfortran.dg/finalize_28.f90 b0b40e9272a3a3ddc92029a3f499ef91 gcc/testsuite/gfortran.dg/finalize_29.f08 fd6f56591cff43978fb9e37af994eec0 gcc/testsuite/gfortran.dg/finalize_3.f03 e100c711627c65e22ec895f123885efe gcc/testsuite/gfortran.dg/finalize_30.f90 *************** bd770f92979b126cbcf56a2a993f4ea7 gcc/te *** 50108,50113 **** --- 50389,50395 ---- e697f5c1b7f1072ed01fa9440c3ec58f gcc/testsuite/gfortran.dg/fmt_cache_2.f fea289794657d0339a8bdd13d6de1827 gcc/testsuite/gfortran.dg/fmt_cache_3.f90 d03bfc790f803c45e2d4540b3b702989 gcc/testsuite/gfortran.dg/fmt_colon.f90 + 8e2de748202740d5a36e1c0a58734441 gcc/testsuite/gfortran.dg/fmt_e.f90 520d4392c65a4ec1c5aa9284976e145f gcc/testsuite/gfortran.dg/fmt_en.f90 51f4c68b5c689084070ee71c915fb347 gcc/testsuite/gfortran.dg/fmt_error.f90 b404b82d240cb1d56b3fdbaced6ebf82 gcc/testsuite/gfortran.dg/fmt_error_10.f *************** fc2b293a2d13f23c8a72aa82b137a7b1 gcc/te *** 51077,51082 **** --- 51359,51365 ---- 941e1ef8f703d6e5c3cefe39c67ecb85 gcc/testsuite/gfortran.dg/interface_38.f90 6e3222282c29d4f4e30d8d92c1def6b3 gcc/testsuite/gfortran.dg/interface_39.f90 46314c1c8afc8b271fe6647ff2e4415f gcc/testsuite/gfortran.dg/interface_4.f90 + 79c3ef8a8610d213e1de2702a8e7d1c5 gcc/testsuite/gfortran.dg/interface_40.f90 dd9e2fc1a583154b041bbab80861551a gcc/testsuite/gfortran.dg/interface_5.f90 a63ff5460cdc25350f43a09d899581db gcc/testsuite/gfortran.dg/interface_6.f90 b4d472d28fc0ac004218dc87eb241306 gcc/testsuite/gfortran.dg/interface_7.f90 *************** da742ef45d27d1dbabf578376b793b06 gcc/te *** 51118,51123 **** --- 51401,51407 ---- f83b1bf4d5da4b9b222cbb323f92f831 gcc/testsuite/gfortran.dg/internal_readwrite_1.f90 8bf8dab685dfc8db514b460e22648f80 gcc/testsuite/gfortran.dg/internal_readwrite_2.f90 2cc95ecc20be055b39f34f4641169852 gcc/testsuite/gfortran.dg/internal_readwrite_3.f90 + e82fa551841033a84bee9fc477e55194 gcc/testsuite/gfortran.dg/internal_readwrite_4.f90 447249af7d2fd8c44e94ff5e234f1965 gcc/testsuite/gfortran.dg/internal_references_1.f90 d0c6db8313177997e1e7250226095e1d gcc/testsuite/gfortran.dg/internal_references_2.f90 1307f861e759364c3550be7b5ef0d46c gcc/testsuite/gfortran.dg/internal_write_1.f90 *************** e3c9788d90071688e2490dada0714d02 gcc/te *** 51306,51311 **** --- 51590,51597 ---- 621fd5ac482c79d82a2dd2a2467ad138 gcc/testsuite/gfortran.dg/logical_comp.f90 d790ddb406b38b67d83bc92f76cdf315 gcc/testsuite/gfortran.dg/logical_data_1.f90 69d608435fd45e0b4560c3d20903ac1c gcc/testsuite/gfortran.dg/logical_dot_product.f90 + 9566e00c53c33ebc65b5974c25819fa4 gcc/testsuite/gfortran.dg/logical_temp_io.f90 + de850b0782993ce4912c307b1e5acaa6 gcc/testsuite/gfortran.dg/logical_temp_io_kind8.f90 2cde76e6e4f3175cf21675c3a4e3dcc4 gcc/testsuite/gfortran.dg/logint_1.f e8369cf8500479fa8592d6ad221df22b gcc/testsuite/gfortran.dg/logint_2.f cc537c18cadc7f751e2b61f5197b80e7 gcc/testsuite/gfortran.dg/logint_3.f *************** f578301d06fba98fdd392618b3c322f6 gcc/te *** 51376,51381 **** --- 51662,51669 ---- c9a22258dbea705376b48eb2fbe99636 gcc/testsuite/gfortran.dg/matmul_13.f90 e34a90228a66e89a0c0a370802385705 gcc/testsuite/gfortran.dg/matmul_14.f90 851305f3320a34134ae8fcb9fab1819b gcc/testsuite/gfortran.dg/matmul_16.f90 + c70b8c35324518269d3ef8bda8b25b6a gcc/testsuite/gfortran.dg/matmul_17.f90 + b58f69ad9bb6c867d81cede0c0e07f7f gcc/testsuite/gfortran.dg/matmul_18.f90 dbdf35443d83e42784b2ce5428caa176 gcc/testsuite/gfortran.dg/matmul_2.f90 c7d10888999cf076991164b5bf57c6fc gcc/testsuite/gfortran.dg/matmul_3.f90 cfbd43357d41fab8685ac1c11a54db26 gcc/testsuite/gfortran.dg/matmul_4.f90 *************** f4df42c36841a7e731883e9a6a7f0b38 gcc/te *** 51502,51508 **** 645b6b4b36489dac04618c450d130861 gcc/testsuite/gfortran.dg/move_alloc_12.f90 1eadd615c7e46530bfa56188e3be9b9a gcc/testsuite/gfortran.dg/move_alloc_13.f90 3bb5768c594c32010a87a1fbe4a65823 gcc/testsuite/gfortran.dg/move_alloc_14.f90 ! 913e159b87c0296e491f7f52ec4737f0 gcc/testsuite/gfortran.dg/move_alloc_15.f90 cc0e53ea9c25d87a549f778d4456cf44 gcc/testsuite/gfortran.dg/move_alloc_16.f90 e1e5a4925af334c9600c11958ed2f050 gcc/testsuite/gfortran.dg/move_alloc_17.f90 82ce482d0ea01e87bea4c152503a35bf gcc/testsuite/gfortran.dg/move_alloc_18.f90 --- 51790,51796 ---- 645b6b4b36489dac04618c450d130861 gcc/testsuite/gfortran.dg/move_alloc_12.f90 1eadd615c7e46530bfa56188e3be9b9a gcc/testsuite/gfortran.dg/move_alloc_13.f90 3bb5768c594c32010a87a1fbe4a65823 gcc/testsuite/gfortran.dg/move_alloc_14.f90 ! c155c0bf4e01937c2ca90481a4f6c489 gcc/testsuite/gfortran.dg/move_alloc_15.f90 cc0e53ea9c25d87a549f778d4456cf44 gcc/testsuite/gfortran.dg/move_alloc_16.f90 e1e5a4925af334c9600c11958ed2f050 gcc/testsuite/gfortran.dg/move_alloc_17.f90 82ce482d0ea01e87bea4c152503a35bf gcc/testsuite/gfortran.dg/move_alloc_18.f90 *************** ca386a76e9a345aefe2a4fb9e5c66ed8 gcc/te *** 51617,51622 **** --- 51905,51911 ---- 51160c49eed98e14da5d3920d056e019 gcc/testsuite/gfortran.dg/namelist_92.f90 7b88fbd78fb236f8e230a23c888d825f gcc/testsuite/gfortran.dg/namelist_93.f90 ef829c1a33829b47520efa96e8980360 gcc/testsuite/gfortran.dg/namelist_94.f90 + 11930c5a5221c4562be90adbacf23fe0 gcc/testsuite/gfortran.dg/namelist_95.f90 5bb683cd1debaa1e9955a1a2744501e2 gcc/testsuite/gfortran.dg/namelist_args.f90 b8f12d194aa9b2cfb5214297f897456c gcc/testsuite/gfortran.dg/namelist_assumed_char.f90 73de646ecd69b0bf965fecc1ccd64052 gcc/testsuite/gfortran.dg/namelist_blockdata.f *************** eb6af590881f3e995fc6b2c78089f277 gcc/te *** 51705,51710 **** --- 51994,52000 ---- f202e3843710f9492560538fa53c3847 gcc/testsuite/gfortran.dg/nullify_2.f90 7c88f708900f1ab1e33baa8ab2493749 gcc/testsuite/gfortran.dg/nullify_3.f90 5917ff71bf25a141d882878e441dc15d gcc/testsuite/gfortran.dg/nullify_4.f90 + 888d6e31ae9d0c8f115f976ee906cea6 gcc/testsuite/gfortran.dg/num_images_1.f90 97d9003b405f5e3d56a941b54189717c gcc/testsuite/gfortran.dg/old_style_init.f90 771ea0a57fe756d8e7d972b01fe06d71 gcc/testsuite/gfortran.dg/oldstyle_1.f90 a6de0d0b913df7bf4f7e924d87693c5e gcc/testsuite/gfortran.dg/oldstyle_2.f90 *************** a76232d35f35517cbd958d99d1ca3975 gcc/te *** 52162,52167 **** --- 52452,52458 ---- f0a6995f73ec38a5c8e24e5d968a365b gcc/testsuite/gfortran.dg/pr69554-1.F90 fe55b4afdea6006daace9aa79199e551 gcc/testsuite/gfortran.dg/pr69554-2.F90 68938073de3c2383615f40d0ec615519 gcc/testsuite/gfortran.dg/pr69603.f90 + 98e6c7786cece9272dca0a1d1898bb55 gcc/testsuite/gfortran.dg/pr69739.f90 ad1c20f5706de185c8d1a0e845e5710d gcc/testsuite/gfortran.dg/pr69867.f90 5d287811020bdabb61dcc6757135eb94 gcc/testsuite/gfortran.dg/pr69955.f90 29610fdfa7dcc34c2dbc61b21af1103e gcc/testsuite/gfortran.dg/pr69962.f90 *************** e54adfde54f7051d2c213313e32967ac gcc/te *** 52222,52233 **** --- 52513,52531 ---- 46b05b28d9c2a5643e5c9999f913781a gcc/testsuite/gfortran.dg/pr78259.f90 38417bf1cb92bb7d70724f9be2c325ca gcc/testsuite/gfortran.dg/pr78279.f90 c8893a59741e05d503a560b19c9684a9 gcc/testsuite/gfortran.dg/pr78297.f90 + b0372de9ab64f58fe8095fafb7257fab gcc/testsuite/gfortran.dg/pr78619.f90 + 4066e9daf333a7637b737c7b1c244da5 gcc/testsuite/gfortran.dg/pr78686.f90 18ef55c7791c30ff0793ca246df65036 gcc/testsuite/gfortran.dg/pr78758.f90 ee35970003b8954b57c5ce45c7fd506c gcc/testsuite/gfortran.dg/pr79315.f90 7dde52ec5dffa2ae8586c577cf97f742 gcc/testsuite/gfortran.dg/pr79886.f90 738d9f86dfcf06ffa972e45acfb4fa07 gcc/testsuite/gfortran.dg/pr80107.f 2726988d026410339c6efa9ff66b2464 gcc/testsuite/gfortran.dg/pr80752.f90 d6ba5de6e97cfb946328be25aba5d7db gcc/testsuite/gfortran.dg/pr81175.f + ff48bac9fecdd1e7a7054b92e1959192 gcc/testsuite/gfortran.dg/pr81723.f + d1aef01880835db4a541fe2fb5d9b4b4 gcc/testsuite/gfortran.dg/pr81735.f90 + b6ff04901e3aee18765a74bf65804e38 gcc/testsuite/gfortran.dg/pr82253.f90 + 3e5e2dd987641b643ea03f228e33bc00 gcc/testsuite/gfortran.dg/pr83864.f90 + 34ffb26eca5fadb11dd891f51b3e475e gcc/testsuite/gfortran.dg/pr83874.f90 6ff99f4b0021f30bee039a61db7cba9d gcc/testsuite/gfortran.dg/predcom-1.f 20a411a7e5a57891297c4c6a96d92009 gcc/testsuite/gfortran.dg/predcom-2.f 93166017899716f4c3742eda5aaf4087 gcc/testsuite/gfortran.dg/predict-1.f90 *************** abc7dd8bdb0e5b712800eb9cf9fec4db gcc/te *** 52737,52743 **** 70de57c924e76dc6d1e498e2259aeb38 gcc/testsuite/gfortran.dg/simpleif_1.f90 91056d9ca23bef5e1c2753b954256442 gcc/testsuite/gfortran.dg/simpleif_2.f90 3326234d8872d8aaba7b837bec9ecdff gcc/testsuite/gfortran.dg/simplify_argN_1.f90 ! ab71bf95a3b0b4997b815c5e6d599ff2 gcc/testsuite/gfortran.dg/simplify_cshift_1.f90 7a3c123368ae7a7d4cd04f96638e4174 gcc/testsuite/gfortran.dg/simplify_cshift_2.f90 cee66ec5b389cd7c4cb8c22f5584f9dd gcc/testsuite/gfortran.dg/simplify_cshift_3.f90 0bd4a476c1e494cf5646e7afc7922748 gcc/testsuite/gfortran.dg/simplify_modulo.f90 --- 53035,53041 ---- 70de57c924e76dc6d1e498e2259aeb38 gcc/testsuite/gfortran.dg/simpleif_1.f90 91056d9ca23bef5e1c2753b954256442 gcc/testsuite/gfortran.dg/simpleif_2.f90 3326234d8872d8aaba7b837bec9ecdff gcc/testsuite/gfortran.dg/simplify_argN_1.f90 ! f3e925be07ee5b00bfaa862a35865f3e gcc/testsuite/gfortran.dg/simplify_cshift_1.f90 7a3c123368ae7a7d4cd04f96638e4174 gcc/testsuite/gfortran.dg/simplify_cshift_2.f90 cee66ec5b389cd7c4cb8c22f5584f9dd gcc/testsuite/gfortran.dg/simplify_cshift_3.f90 0bd4a476c1e494cf5646e7afc7922748 gcc/testsuite/gfortran.dg/simplify_modulo.f90 *************** ccb4961f10894d6cecba430ba5429481 gcc/te *** 52867,52872 **** --- 53165,53171 ---- 1a357d1a6209523cf7353089bac999dd gcc/testsuite/gfortran.dg/submodule_26.f08 e1ecc346f86103555c66ea6afae29102 gcc/testsuite/gfortran.dg/submodule_27.f08 d1663fd4e1368341812629ea5580dde9 gcc/testsuite/gfortran.dg/submodule_28.f08 + 147400141f6bbfa5c2a66612b85d0557 gcc/testsuite/gfortran.dg/submodule_29.f08 aa943f2bec85bb461999d2cb2adfc73a gcc/testsuite/gfortran.dg/submodule_3.f08 68f9f70d888318a31160ba732171726f gcc/testsuite/gfortran.dg/submodule_4.f08 1fbed56af4313e533e45631365afe8d6 gcc/testsuite/gfortran.dg/submodule_5.f08 *************** fca7571238596b88ba0b767cd69041d7 gcc/te *** 52937,52942 **** --- 53236,53242 ---- 61dc845871f386f900b0ac50b8a1ed35 gcc/testsuite/gfortran.dg/transfer_resolve_4.f90 099850a87aba56ec7cc45b0bd6ddec3c gcc/testsuite/gfortran.dg/transfer_simplify_1.f90 219217c8d0844a2d281c9287ca2dd74d gcc/testsuite/gfortran.dg/transfer_simplify_10.f90 + 789da1b64102b3a56b850f5d9021f5ad gcc/testsuite/gfortran.dg/transfer_simplify_11.f90 822e02d754b1ec692df3009472c2a165 gcc/testsuite/gfortran.dg/transfer_simplify_2.f90 fec6159228c1b6437be318f47fd24431 gcc/testsuite/gfortran.dg/transfer_simplify_3.f90 068fb740f991d4d3229cf813e34fa2b7 gcc/testsuite/gfortran.dg/transfer_simplify_4.f90 *************** c9950f221879107913e1f1744490b1c4 gcc/te *** 53071,53077 **** a56e5f61ed1f96b90868d57e6ae7cc44 gcc/testsuite/gfortran.dg/typebound_proc_24.f03 ce1af85f65e3c2bbe5e6d0be41f7630b gcc/testsuite/gfortran.dg/typebound_proc_25.f90 519c04f3282242a253bd7fa8517bbedf gcc/testsuite/gfortran.dg/typebound_proc_26.f90 ! 467ec3fe2394998758679454b0916c96 gcc/testsuite/gfortran.dg/typebound_proc_27.f03 e9021328816f5723aa15deb5c9f25744 gcc/testsuite/gfortran.dg/typebound_proc_28.f03 d9f92de1e9ad0c38b43865e080ef2e61 gcc/testsuite/gfortran.dg/typebound_proc_29.f90 3d956f557e018281bb8093e19c43052b gcc/testsuite/gfortran.dg/typebound_proc_3.f03 --- 53371,53377 ---- a56e5f61ed1f96b90868d57e6ae7cc44 gcc/testsuite/gfortran.dg/typebound_proc_24.f03 ce1af85f65e3c2bbe5e6d0be41f7630b gcc/testsuite/gfortran.dg/typebound_proc_25.f90 519c04f3282242a253bd7fa8517bbedf gcc/testsuite/gfortran.dg/typebound_proc_26.f90 ! f6ce409b35bfe680baf2eb6a418cfd56 gcc/testsuite/gfortran.dg/typebound_proc_27.f03 e9021328816f5723aa15deb5c9f25744 gcc/testsuite/gfortran.dg/typebound_proc_28.f03 d9f92de1e9ad0c38b43865e080ef2e61 gcc/testsuite/gfortran.dg/typebound_proc_29.f90 3d956f557e018281bb8093e19c43052b gcc/testsuite/gfortran.dg/typebound_proc_3.f03 *************** a0d15cb58d5be89e3ac3346c05d54cde gcc/te *** 53081,53086 **** --- 53381,53387 ---- 4b72996d3d40cfba872c79978844e194 gcc/testsuite/gfortran.dg/typebound_proc_33.f90 917b6e6fd74a4efa4864899ecc42acb6 gcc/testsuite/gfortran.dg/typebound_proc_34.f90 e97979b0f8627009589defb1d5445a99 gcc/testsuite/gfortran.dg/typebound_proc_35.f90 + 76e27e04cf7a7ab462a836597d503b47 gcc/testsuite/gfortran.dg/typebound_proc_36.f90 5a85f8e544f2db7331aec686a5caf7ee gcc/testsuite/gfortran.dg/typebound_proc_4.f03 a7d68db5c429562164ea47edc8677d14 gcc/testsuite/gfortran.dg/typebound_proc_5.f03 2bba47d31700cbba32684f0f2e15c7bc gcc/testsuite/gfortran.dg/typebound_proc_6.f03 *************** c3ddd813e72b606d44cdfd47616fff95 gcc/te *** 53344,53350 **** 34c261a55c7392e9ef695c645bb69cdc gcc/testsuite/gfortran.dg/warn_std_3.f90 236f4177fe831ff31ad3388fde56d3a7 gcc/testsuite/gfortran.dg/warn_target_lifetime_1.f90 10c0140b52dfb08b0d4c05279aec231b gcc/testsuite/gfortran.dg/warn_target_lifetime_2.f90 ! a1e6420439b5f9f8e38e84341d0a9815 gcc/testsuite/gfortran.dg/warn_target_lifetime_3.f90 faef1baec47674d096569b4803422d64 gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_1.f90 9cdfca84c19b8b4bfd5f9be4a921f068 gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_2.f90 62c8995bb923620e3509b9bd179b618c gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_3.f90 --- 53645,53652 ---- 34c261a55c7392e9ef695c645bb69cdc gcc/testsuite/gfortran.dg/warn_std_3.f90 236f4177fe831ff31ad3388fde56d3a7 gcc/testsuite/gfortran.dg/warn_target_lifetime_1.f90 10c0140b52dfb08b0d4c05279aec231b gcc/testsuite/gfortran.dg/warn_target_lifetime_2.f90 ! be7f18f8b43ef70b7585a74284446e57 gcc/testsuite/gfortran.dg/warn_target_lifetime_3.f90 ! 2ece2210488f4ed099be674644f83ed0 gcc/testsuite/gfortran.dg/warn_target_lifetime_4.f90 faef1baec47674d096569b4803422d64 gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_1.f90 9cdfca84c19b8b4bfd5f9be4a921f068 gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_2.f90 62c8995bb923620e3509b9bd179b618c gcc/testsuite/gfortran.dg/warn_unused_dummy_argument_3.f90 *************** e91c677bcd14c0db6e01572476137e31 gcc/te *** 53467,53472 **** --- 53769,53775 ---- 2f6f0e3a0d47789cf8b781d741978eb1 gcc/testsuite/gfortran.dg/zero_sized_4.f90 c5ec1fb0fc8c345f8307ecf2c67b9da4 gcc/testsuite/gfortran.dg/zero_sized_5.f90 a44046465668c70aba5221e56a70ddce gcc/testsuite/gfortran.dg/zero_sized_6.f90 + dc0b200beddab198b48f113266d75959 gcc/testsuite/gfortran.dg/zero_sized_7.f90 43fd784e3b97014a5b329c6afad28d39 gcc/testsuite/gfortran.dg/zero_stride_1.f90 2e53eeb757ac8134127639b4b18c5d14 gcc/testsuite/gfortran.fortran-torture/ChangeLog.g95 13ad78f861b40e328aaa387670abf015 gcc/testsuite/gfortran.fortran-torture/compile/20080806-1.f90 *************** e152953638eb43ef2573565e5bff18dc gcc/te *** 53874,53879 **** --- 54177,54183 ---- 1eb3cbc728b3b4745a79e57c0a884e48 gcc/testsuite/gnat.dg/aligned_vla.adb c937e00c9ea683419dcc198a58233ede gcc/testsuite/gnat.dg/alignment1.adb 2f7f0b370ca300192c4d24649a219982 gcc/testsuite/gnat.dg/alignment10.adb + 3e04e3aa84b2902e9b7155f66856e159 gcc/testsuite/gnat.dg/alignment13.adb 212d4d6c7f98bb3c9f78d2ef06d0e6ca gcc/testsuite/gnat.dg/alignment2.adb 11503f47ea295354ab10fc127a67f7a3 gcc/testsuite/gnat.dg/alignment3.adb a9c8dd283cf041a6a2fb8d49c1421144 gcc/testsuite/gnat.dg/alignment4.adb *************** c826c2573fee2010dab38f0be39fab9a gcc/te *** 53932,53937 **** --- 54236,54243 ---- 992f8fadfe4c3c4b445834bf65695689 gcc/testsuite/gnat.dg/array28.adb bf1a2c9b961f9dff5a53f9a8809384a9 gcc/testsuite/gnat.dg/array28_pkg.adb 5ff837fbd986bc07a6a3af8c2adb4bc3 gcc/testsuite/gnat.dg/array28_pkg.ads + 6381cf13892c66012106a3857a1718e7 gcc/testsuite/gnat.dg/array29.adb + 3a2c1f6c7601fe3e7eaeb46c064bfb44 gcc/testsuite/gnat.dg/array29.ads ce95a40ed45efc9a52f92f6d4700acb5 gcc/testsuite/gnat.dg/array3.adb b1368ee1737ab5c2b00482e137e1a378 gcc/testsuite/gnat.dg/array4.adb 3d29182d58b83e2662df3d9534b80184 gcc/testsuite/gnat.dg/array5.adb *************** b11b424dc6dd1b3f784296fcb193bb31 gcc/te *** 54062,54067 **** --- 54368,54375 ---- f7f0e097ef2b08042951719eb78231a0 gcc/testsuite/gnat.dg/debug1.ads bbbfd9f14b08a711a62fcfd5d9102acc gcc/testsuite/gnat.dg/debug10.adb 9581911974689dc418d8ea3c85fd8603 gcc/testsuite/gnat.dg/debug10_pkg.ads + 5d1ed201c2083aeeda0b30815f95280e gcc/testsuite/gnat.dg/debug13.adb + bb7c02e58e40d63edfc3b849db48ec73 gcc/testsuite/gnat.dg/debug13.ads 8c481e5a0e1ba1c11baee252a8f52edc gcc/testsuite/gnat.dg/debug2.adb d5b17f0a1969c63659288225fe45fac0 gcc/testsuite/gnat.dg/debug2.ads fdb068baf7b1989ef7f7e9285dfd7ad6 gcc/testsuite/gnat.dg/debug2_pkg.ads *************** c9ff780618c30d36e86d0b58faa31f51 gcc/te *** 54280,54285 **** --- 54588,54597 ---- 7fef73281d46171f5c16ec9eb542b172 gcc/testsuite/gnat.dg/incomplete3.ads 4c2f1e1cd2da6594fe3d50491ea14c2f gcc/testsuite/gnat.dg/incomplete4.adb 58cf6e0cf8ce1ddb8fe3900444548982 gcc/testsuite/gnat.dg/incomplete4_pkg.ads + f0f9c32735cc34a1187b60dd5192343a gcc/testsuite/gnat.dg/incomplete5.adb + ec24a8a99cf8886b89a434ba3934fb71 gcc/testsuite/gnat.dg/incomplete5.ads + 651fc5caf55c00c58ba5ab24a19f3aac gcc/testsuite/gnat.dg/incomplete5_pkg.adb + 3f4a2354fcc2609213c77c82600136da gcc/testsuite/gnat.dg/incomplete5_pkg.ads 2d278c8204ff052ae1bda719e5201baa gcc/testsuite/gnat.dg/init_scalar1.adb 94ef7861c55a3bf8630572c31b937e61 gcc/testsuite/gnat.dg/inline1.adb 2ff5a76e1b9c8d88e54196699c7dbd0b gcc/testsuite/gnat.dg/inline10.adb *************** a49d1e123ee08614689c5765807a82f0 gcc/te *** 54679,54684 **** --- 54991,54997 ---- c3ef9e48285eae6079481e8321568f5d gcc/testsuite/gnat.dg/opt64_pkg.adb fa4c27f02bb3b9657f76e2ed18da2f02 gcc/testsuite/gnat.dg/opt64_pkg.ads 9075248e7e59db04dd99a0be9a4c82bb gcc/testsuite/gnat.dg/opt65.adb + ecc4c6c9f42f03d3d6a69b2ab6a2f13c gcc/testsuite/gnat.dg/opt69.adb a441d166cc0d4b34342468308b350060 gcc/testsuite/gnat.dg/opt7.adb 8ea613067c21d3bbf860fb8bb4013c79 gcc/testsuite/gnat.dg/opt7.ads 81951fc84d3d36131be8aca4f80c113b gcc/testsuite/gnat.dg/opt7_pkg.ads *************** e61f4249aecfb04d22ae9eba12736e01 gcc/te *** 54725,54731 **** 86d80645ee1063824a66932efac690e1 gcc/testsuite/gnat.dg/pack6.adb 936402595b0231eeda5c20946dd6c313 gcc/testsuite/gnat.dg/pack7.adb 29e2a3153628ab22b94abf9d1d75a71e gcc/testsuite/gnat.dg/pack8.adb ! ae51c270d12de551788e0e549f54522d gcc/testsuite/gnat.dg/pack9.adb 36755a35b6a5828030fa2f4d90b5418c gcc/testsuite/gnat.dg/pack9.ads 8e5093ecb8c979636dc7326896967191 gcc/testsuite/gnat.dg/packed_subtype.adb 828e20a28630704e2d3527f86e8782f0 gcc/testsuite/gnat.dg/pak.adb --- 55038,55044 ---- 86d80645ee1063824a66932efac690e1 gcc/testsuite/gnat.dg/pack6.adb 936402595b0231eeda5c20946dd6c313 gcc/testsuite/gnat.dg/pack7.adb 29e2a3153628ab22b94abf9d1d75a71e gcc/testsuite/gnat.dg/pack8.adb ! 92a99132e10121a703ecf3e48466648a gcc/testsuite/gnat.dg/pack9.adb 36755a35b6a5828030fa2f4d90b5418c gcc/testsuite/gnat.dg/pack9.ads 8e5093ecb8c979636dc7326896967191 gcc/testsuite/gnat.dg/packed_subtype.adb 828e20a28630704e2d3527f86e8782f0 gcc/testsuite/gnat.dg/pak.adb *************** abe14a1ac8ff19714a07b9e460b5fa25 gcc/te *** 54886,54891 **** --- 55199,55205 ---- 18531dc960411dab820aa7279791f03a gcc/testsuite/gnat.dg/specs/array_no_def_init.ads 2d9efbd53366881b4d205fa4d00c2cc9 gcc/testsuite/gnat.dg/specs/atomic1.ads 636354bb2ccefb57f0e24237c3cc5727 gcc/testsuite/gnat.dg/specs/atomic2.ads + 778c3fb394bd22381e5d6dc833b0e536 gcc/testsuite/gnat.dg/specs/atomic3.ads c32b716552779677ae176058dfb0e811 gcc/testsuite/gnat.dg/specs/attribute_parsing.ads f816d4862285932d8e7b70c2efc94426 gcc/testsuite/gnat.dg/specs/box1.ads ac65d1222b8d3a24ba83bbbb5c7a051f gcc/testsuite/gnat.dg/specs/clause_on_volatile.ads *************** de51b75218396f3ea74fbbdb7bf0a1c7 gcc/te *** 55023,55028 **** --- 55337,55343 ---- 4f45d4c948fae2897544b170d1db5ad2 gcc/testsuite/gnat.dg/specs/tag2.ads 538cfd0d73ec83e10aeb97fe5924abab gcc/testsuite/gnat.dg/specs/task1.ads de366240409b1c3413cd274333487fb7 gcc/testsuite/gnat.dg/specs/uc1.ads + 224d5e834bda2cd63e4736a65f5ee267 gcc/testsuite/gnat.dg/specs/uc2.ads a013922e8c147a09784a5aca21aa3a65 gcc/testsuite/gnat.dg/specs/unchecked_union1.ads fbc11dba24887c4af40c8660f7168a67 gcc/testsuite/gnat.dg/specs/unchecked_union2.ads c8cf8a4c8db78f809bd3550ca820e6a5 gcc/testsuite/gnat.dg/specs/universal_fixed.ads *************** af4dd6849b723c7d2b26121c237e190f gcc/te *** 55035,55041 **** ac78c396effa4859b1c3270e50e530dc gcc/testsuite/gnat.dg/specs/varsize_return_pkg1.ads 877781a770d22409386451de9e26b0bb gcc/testsuite/gnat.dg/specs/varsize_return_pkg2.adb 32d18c664c80e0567f098ad3f5c64c62 gcc/testsuite/gnat.dg/specs/varsize_return_pkg2.ads ! 9aa6d466661cce3deb831358b6945658 gcc/testsuite/gnat.dg/specs/vfa.ads 04891a883bf8735f0e4bc34592cff6dd gcc/testsuite/gnat.dg/specs/volatile1.ads 3ab8359f200ce6638ca1a08c54293318 gcc/testsuite/gnat.dg/specs/warnstar.ads a189f968eaf4c4558d6078a8fdbdfe15 gcc/testsuite/gnat.dg/specs/weak1.ads --- 55350,55357 ---- ac78c396effa4859b1c3270e50e530dc gcc/testsuite/gnat.dg/specs/varsize_return_pkg1.ads 877781a770d22409386451de9e26b0bb gcc/testsuite/gnat.dg/specs/varsize_return_pkg2.adb 32d18c664c80e0567f098ad3f5c64c62 gcc/testsuite/gnat.dg/specs/varsize_return_pkg2.ads ! fafeaea1e6dc6430a977c194dcce2366 gcc/testsuite/gnat.dg/specs/vfa1.ads ! 2d6bea14f8e514f5f34e005d6b116ff9 gcc/testsuite/gnat.dg/specs/vfa2.ads 04891a883bf8735f0e4bc34592cff6dd gcc/testsuite/gnat.dg/specs/volatile1.ads 3ab8359f200ce6638ca1a08c54293318 gcc/testsuite/gnat.dg/specs/warnstar.ads a189f968eaf4c4558d6078a8fdbdfe15 gcc/testsuite/gnat.dg/specs/weak1.ads *************** f37d4791cfa22e9a20848922ea5de498 gcc/te *** 55389,55395 **** b760f8c4f0593565426879b84ab6787b gcc/testsuite/go.go-torture/execute/var-1.go 55c3fdb5eab9130c79b8548c994aa8d9 gcc/testsuite/go.go-torture/execute/var-2.go ac0017eb534302ec5987291f615d13ca gcc/testsuite/go.go-torture/execute/var-3.go ! f4ed0d41b9bc1db1596ad5b19e8819f9 gcc/testsuite/go.test/go-test.exp 88c59e0bc9f2a79ed3a3e8f1409ed1d8 gcc/testsuite/go.test/test/235.go 1a94dd86d2262280f883261800a13104 gcc/testsuite/go.test/test/64bit.go 43e15a8d565d16ab908b7cf6db8e0bf9 gcc/testsuite/go.test/test/README.gcc --- 55705,55711 ---- b760f8c4f0593565426879b84ab6787b gcc/testsuite/go.go-torture/execute/var-1.go 55c3fdb5eab9130c79b8548c994aa8d9 gcc/testsuite/go.go-torture/execute/var-2.go ac0017eb534302ec5987291f615d13ca gcc/testsuite/go.go-torture/execute/var-3.go ! cb5513db234e4b5dc21ca7ee8d613ef6 gcc/testsuite/go.test/go-test.exp 88c59e0bc9f2a79ed3a3e8f1409ed1d8 gcc/testsuite/go.test/test/235.go 1a94dd86d2262280f883261800a13104 gcc/testsuite/go.test/test/64bit.go 43e15a8d565d16ab908b7cf6db8e0bf9 gcc/testsuite/go.test/test/README.gcc *************** d6a9ca756a1aa49d715b8cddbb455bc9 gcc/te *** 56644,56650 **** 3b3f36e96e89e5aaa2ffc3b3e75eea8a gcc/testsuite/lib/scantree.exp b1df537fb91fd69120df252f52b27873 gcc/testsuite/lib/target-libpath.exp e079de022f07dc380fbd4e8490136cd1 gcc/testsuite/lib/target-supports-dg.exp ! 434e847547bae8840dc55dc9c51ebc47 gcc/testsuite/lib/target-supports.exp d064f4e641d32cc8ccbe1f2853cc502c gcc/testsuite/lib/target-utils.exp b96a73aab1d3f546b8911126a60bec69 gcc/testsuite/lib/timeout-dg.exp 31892baa0052b423e00975b658dcfd9f gcc/testsuite/lib/timeout.exp --- 56960,56966 ---- 3b3f36e96e89e5aaa2ffc3b3e75eea8a gcc/testsuite/lib/scantree.exp b1df537fb91fd69120df252f52b27873 gcc/testsuite/lib/target-libpath.exp e079de022f07dc380fbd4e8490136cd1 gcc/testsuite/lib/target-supports-dg.exp ! 4b4a0f8a68935680202d5ec3f0c73422 gcc/testsuite/lib/target-supports.exp d064f4e641d32cc8ccbe1f2853cc502c gcc/testsuite/lib/target-utils.exp b96a73aab1d3f546b8911126a60bec69 gcc/testsuite/lib/timeout-dg.exp 31892baa0052b423e00975b658dcfd9f gcc/testsuite/lib/timeout.exp *************** e42076aeff1c5ac155a88db5b1993d38 gcc/te *** 57620,57626 **** a6e36faf2adc39e4bd4947d8fb693069 gcc/timevar.def 5cf8f98404e08ab29130ca1a202ef8e8 gcc/timevar.h f6b27d32bbcd5170a02e9787e6f5484e gcc/tlink.c ! ca8cb60da67e53faa54eeb76daf0416c gcc/toplev.c 60ecb3eee8840237e7cbeee4f717acee gcc/toplev.h 3ed6e4b64889eeac8078f80defb280e4 gcc/tracer.c 536d5f5c3a36295b251cd838717dd68f gcc/tracer.h --- 57936,57942 ---- a6e36faf2adc39e4bd4947d8fb693069 gcc/timevar.def 5cf8f98404e08ab29130ca1a202ef8e8 gcc/timevar.h f6b27d32bbcd5170a02e9787e6f5484e gcc/tlink.c ! 3044cf6e2d7286f0f1bb0676ef1675c3 gcc/toplev.c 60ecb3eee8840237e7cbeee4f717acee gcc/toplev.h 3ed6e4b64889eeac8078f80defb280e4 gcc/tracer.c 536d5f5c3a36295b251cd838717dd68f gcc/tracer.h *************** ca8cb60da67e53faa54eeb76daf0416c gcc/to *** 57629,57640 **** bf1ca0c8d6f7aa3ec077ca07f81fb48d gcc/tree-affine.c 284126de2a59b6236d8ac9c724fb0fc1 gcc/tree-affine.h 3603e3d075155f4470364e64801460b9 gcc/tree-call-cdce.c ! 9d4fbf628f0ea168c53c9c7a88dcd075 gcc/tree-cfg.c 44a714fe5a2bb4ca8dd0f32aa310c7f7 gcc/tree-cfg.h 907aeb3baac97f2aff5fcaf76bccac85 gcc/tree-cfgcleanup.c 8158974f8a5252ada87cd6fa950cb1bf gcc/tree-cfgcleanup.h 736086185764b5502d82ed181191b9b6 gcc/tree-chkp-opt.c ! f67e741a790920002e51f10984c790fe gcc/tree-chkp.c e30b9695c5cc0f195e5fc0ae04029306 gcc/tree-chkp.h d3b531c744233e39c8d1680d100db262 gcc/tree-chrec.c 561ccb6dc10b34beacb8dbc925d6c08e gcc/tree-chrec.h --- 57945,57956 ---- bf1ca0c8d6f7aa3ec077ca07f81fb48d gcc/tree-affine.c 284126de2a59b6236d8ac9c724fb0fc1 gcc/tree-affine.h 3603e3d075155f4470364e64801460b9 gcc/tree-call-cdce.c ! b45735e394ef3a941126f6505cc65133 gcc/tree-cfg.c 44a714fe5a2bb4ca8dd0f32aa310c7f7 gcc/tree-cfg.h 907aeb3baac97f2aff5fcaf76bccac85 gcc/tree-cfgcleanup.c 8158974f8a5252ada87cd6fa950cb1bf gcc/tree-cfgcleanup.h 736086185764b5502d82ed181191b9b6 gcc/tree-chkp-opt.c ! 405f10037825c7f9b0725da7872a4912 gcc/tree-chkp.c e30b9695c5cc0f195e5fc0ae04029306 gcc/tree-chkp.h d3b531c744233e39c8d1680d100db262 gcc/tree-chrec.c 561ccb6dc10b34beacb8dbc925d6c08e gcc/tree-chrec.h *************** edac3ced744a1f0105010c26d5714c8d gcc/tr *** 57653,57661 **** fb5a184de27472cda879bcb534d515c1 gcc/tree-emutls.c c6c6e56ccc550a7826b1cdb5ca62f4e8 gcc/tree-hash-traits.h fbd4781af8861fb55dcdcdd79809a1ed gcc/tree-hasher.h ! 31db360c4950715a35b89d62151c9d0c gcc/tree-if-conv.c 26f079f6fb72717b74fd761099b24329 gcc/tree-if-conv.h ! a6ef85af843f38fec4eda0df982c3262 gcc/tree-inline.c 5b5c7e160316ca96ead85364ab90c2fc gcc/tree-inline.h bc9d14687fd8689e05b55f0db6b61b64 gcc/tree-into-ssa.c 514b25ed7303f88e6212e1467ef200c7 gcc/tree-into-ssa.h --- 57969,57977 ---- fb5a184de27472cda879bcb534d515c1 gcc/tree-emutls.c c6c6e56ccc550a7826b1cdb5ca62f4e8 gcc/tree-hash-traits.h fbd4781af8861fb55dcdcdd79809a1ed gcc/tree-hasher.h ! 4c4f30cef773d8c10ba55ab4a3cfadc1 gcc/tree-if-conv.c 26f079f6fb72717b74fd761099b24329 gcc/tree-if-conv.h ! 6b03d70d856a27560a011b4823961fab gcc/tree-inline.c 5b5c7e160316ca96ead85364ab90c2fc gcc/tree-inline.h bc9d14687fd8689e05b55f0db6b61b64 gcc/tree-into-ssa.c 514b25ed7303f88e6212e1467ef200c7 gcc/tree-into-ssa.h *************** ab133fc7fbc83e7d29268492f52749b6 gcc/tr *** 57665,57671 **** a5e0b9750390cf52a6a7ecbb3471065e gcc/tree-nested.c 72ca8dc800ffbbff1e54e359ddfe785e gcc/tree-nested.h cab3ca8e14ee509fb6e8147d9944cd6e gcc/tree-nrv.c ! 8891e0f459e64a8907b46952540b0345 gcc/tree-object-size.c 679a50dd021eb9ba20205cb9c70b9af5 gcc/tree-object-size.h d24150d4f8760056afd561808434af7c gcc/tree-outof-ssa.c d146d6b43c7f778dbf6a630a055a1e43 gcc/tree-outof-ssa.h --- 57981,57987 ---- a5e0b9750390cf52a6a7ecbb3471065e gcc/tree-nested.c 72ca8dc800ffbbff1e54e359ddfe785e gcc/tree-nested.h cab3ca8e14ee509fb6e8147d9944cd6e gcc/tree-nrv.c ! 2d79e7d9f9e55daf22483cb05e161335 gcc/tree-object-size.c 679a50dd021eb9ba20205cb9c70b9af5 gcc/tree-object-size.h d24150d4f8760056afd561808434af7c gcc/tree-outof-ssa.c d146d6b43c7f778dbf6a630a055a1e43 gcc/tree-outof-ssa.h *************** de93f2c155c4a1e3b4e95604993815fb gcc/tr *** 57674,57680 **** ec29076445192fd88ec553290cde1704 gcc/tree-pass.h 36bea65ced3fce4818308b42e79a2c02 gcc/tree-phinodes.c 652bbae0b3e3916c3332141996469cb3 gcc/tree-phinodes.h ! 323a1fe93eb319ebdd60e2fe1ee63abc gcc/tree-predcom.c 62586f938f5cd2aa42d284277760013f gcc/tree-pretty-print.c 8edf9c8f71a9679705eefd4273eb3c6e gcc/tree-pretty-print.h ad8ba88c167af34a585819fe74d00c8b gcc/tree-profile.c --- 57990,57996 ---- ec29076445192fd88ec553290cde1704 gcc/tree-pass.h 36bea65ced3fce4818308b42e79a2c02 gcc/tree-phinodes.c 652bbae0b3e3916c3332141996469cb3 gcc/tree-phinodes.h ! 0b188336cd0d361b10dea49e50bb1332 gcc/tree-predcom.c 62586f938f5cd2aa42d284277760013f gcc/tree-pretty-print.c 8edf9c8f71a9679705eefd4273eb3c6e gcc/tree-pretty-print.h ad8ba88c167af34a585819fe74d00c8b gcc/tree-profile.c *************** ad8ba88c167af34a585819fe74d00c8b gcc/tr *** 57683,57689 **** 2b2454b4960b00caf6fcd817050f19f5 gcc/tree-sra.c 68e463ff24e74c8bb36fc91cf7ea35d1 gcc/tree-ssa-address.c 4f144c99892514a4414ffeb8afcf8113 gcc/tree-ssa-address.h ! ade93318aa1dd2ace32c19766b12f982 gcc/tree-ssa-alias.c ac310ca90f0632bb654ed1c7646d07f2 gcc/tree-ssa-alias.h e9658082cc9e989af0d0b066205bff03 gcc/tree-ssa-ccp.c ca3aa63e717a70af149945d4ee9d8b7f gcc/tree-ssa-ccp.h --- 57999,58005 ---- 2b2454b4960b00caf6fcd817050f19f5 gcc/tree-sra.c 68e463ff24e74c8bb36fc91cf7ea35d1 gcc/tree-ssa-address.c 4f144c99892514a4414ffeb8afcf8113 gcc/tree-ssa-address.h ! 668322898a2a53ae391a2f4ea217a384 gcc/tree-ssa-alias.c ac310ca90f0632bb654ed1c7646d07f2 gcc/tree-ssa-alias.h e9658082cc9e989af0d0b066205bff03 gcc/tree-ssa-ccp.c ca3aa63e717a70af149945d4ee9d8b7f gcc/tree-ssa-ccp.h *************** b7109254a84860974b0d55d580b68626 gcc/tr *** 57699,57705 **** 2747af87035e55b411af1a2dfd1982ed gcc/tree-ssa-live.c 27f182c46da4e0babeb83f0dc3a6fe44 gcc/tree-ssa-live.h 732da9ae7eb44e25bbe52e825cbea716 gcc/tree-ssa-loop-ch.c ! f843d913146a34375f7ebc5e0b1c6f26 gcc/tree-ssa-loop-im.c 40a1e1211106ff6d7c6147330a4f2277 gcc/tree-ssa-loop-ivcanon.c f198a805f2cdb8b1498286e1269fb2bf gcc/tree-ssa-loop-ivopts.c 8e29657be03c1b4a6b31bb0f3c04532d gcc/tree-ssa-loop-ivopts.h --- 58015,58021 ---- 2747af87035e55b411af1a2dfd1982ed gcc/tree-ssa-live.c 27f182c46da4e0babeb83f0dc3a6fe44 gcc/tree-ssa-live.h 732da9ae7eb44e25bbe52e825cbea716 gcc/tree-ssa-loop-ch.c ! f56c3e2b82fb07bf466feff827a22669 gcc/tree-ssa-loop-im.c 40a1e1211106ff6d7c6147330a4f2277 gcc/tree-ssa-loop-ivcanon.c f198a805f2cdb8b1498286e1269fb2bf gcc/tree-ssa-loop-ivopts.c 8e29657be03c1b4a6b31bb0f3c04532d gcc/tree-ssa-loop-ivopts.h *************** a53387a05fd56f1c0a7b258041d09524 gcc/tr *** 57712,57733 **** 01b379e1106a6dfd62ccf26fa40e1207 gcc/tree-ssa-loop-unswitch.c 134e4686a91b6b14309cd423625de906 gcc/tree-ssa-loop.c 7c883977ae5ca8f99c7baef499ec819d gcc/tree-ssa-loop.h ! 7128cc8c04fc4902a2739582fe4e4f8e gcc/tree-ssa-math-opts.c f3a1ba8cdac9b155fe4b3d2bfd7c0e04 gcc/tree-ssa-operands.c faf546a32913cc858b6e35a17288bf4a gcc/tree-ssa-operands.h 8886d357d83d57390c1f023dfd8d3d04 gcc/tree-ssa-phionlycprop.c ! a2b4e1701d267320057480369230b48e gcc/tree-ssa-phiopt.c ! 0cd90c169ed91cb76a60eca09ae5f840 gcc/tree-ssa-phiprop.c ! 18e80fbbe5c0e74e4e5ec4d6cd0ca1ff gcc/tree-ssa-pre.c 236253ad5db25fc718d0c974ebca50f6 gcc/tree-ssa-propagate.c 3e37daab7057d09f238f1b5a1107d339 gcc/tree-ssa-propagate.h e805649a2d042e676b630fda0e92060a gcc/tree-ssa-reassoc.c ! caaf9a72f3fd3a1a2eb58878db239586 gcc/tree-ssa-sccvn.c 855a6a94016da8307d4a7f81ac586a02 gcc/tree-ssa-sccvn.h 52aad650c67052f4d0fb05119b5b33d2 gcc/tree-ssa-scopedtables.c f7c97819a8d6cd14e1ba52ff42f9519b gcc/tree-ssa-scopedtables.h 26212a5bd2bf0ebc8b5eb1d44ffedfbd gcc/tree-ssa-sink.c ! 403b9da99f816697d4efcef35c2b00e9 gcc/tree-ssa-strlen.c 42a84dc7a2a7700bc7df1a80fa7f9a36 gcc/tree-ssa-structalias.c fb5dee46b6b91059ab1db6d5cb9cc478 gcc/tree-ssa-tail-merge.c 983e049bd2b8555cefd79a1857036f27 gcc/tree-ssa-ter.c --- 58028,58049 ---- 01b379e1106a6dfd62ccf26fa40e1207 gcc/tree-ssa-loop-unswitch.c 134e4686a91b6b14309cd423625de906 gcc/tree-ssa-loop.c 7c883977ae5ca8f99c7baef499ec819d gcc/tree-ssa-loop.h ! 4773e8d0e06dc739c64840ae3ff866d9 gcc/tree-ssa-math-opts.c f3a1ba8cdac9b155fe4b3d2bfd7c0e04 gcc/tree-ssa-operands.c faf546a32913cc858b6e35a17288bf4a gcc/tree-ssa-operands.h 8886d357d83d57390c1f023dfd8d3d04 gcc/tree-ssa-phionlycprop.c ! 3111ecbd2dc501cbece38863c5588190 gcc/tree-ssa-phiopt.c ! 885c59dc4630d2a2790254654a35a785 gcc/tree-ssa-phiprop.c ! e94a9fccb0425b54e3140c37fe9c6282 gcc/tree-ssa-pre.c 236253ad5db25fc718d0c974ebca50f6 gcc/tree-ssa-propagate.c 3e37daab7057d09f238f1b5a1107d339 gcc/tree-ssa-propagate.h e805649a2d042e676b630fda0e92060a gcc/tree-ssa-reassoc.c ! beeeb865cef7b6db9a5291815ec48b3e gcc/tree-ssa-sccvn.c 855a6a94016da8307d4a7f81ac586a02 gcc/tree-ssa-sccvn.h 52aad650c67052f4d0fb05119b5b33d2 gcc/tree-ssa-scopedtables.c f7c97819a8d6cd14e1ba52ff42f9519b gcc/tree-ssa-scopedtables.h 26212a5bd2bf0ebc8b5eb1d44ffedfbd gcc/tree-ssa-sink.c ! e9fbcbbd081eef6ddecc218bb001fa4e gcc/tree-ssa-strlen.c 42a84dc7a2a7700bc7df1a80fa7f9a36 gcc/tree-ssa-structalias.c fb5dee46b6b91059ab1db6d5cb9cc478 gcc/tree-ssa-tail-merge.c 983e049bd2b8555cefd79a1857036f27 gcc/tree-ssa-ter.c *************** aeb197a9ce8db0f44a2c21accdfc4252 gcc/tr *** 57739,57745 **** 11cb35df02283d309a3a429ace1dfc67 gcc/tree-ssa-threadupdate.c a1c75828ecf8fd1c6eaf74c6ec6ff367 gcc/tree-ssa-threadupdate.h 48f066aa5a376e7a36880dda3175f693 gcc/tree-ssa-uncprop.c ! 0e27de18ff27a9d086cf2566d7f16871 gcc/tree-ssa-uninit.c ff8c6f3ea3a80efdb5465075b830bdba gcc/tree-ssa.c 40537e4def470af52fd09e8f581a87a4 gcc/tree-ssa.h a4ec23ea5dc99ee2c0f433cc4380cf71 gcc/tree-ssanames.c --- 58055,58061 ---- 11cb35df02283d309a3a429ace1dfc67 gcc/tree-ssa-threadupdate.c a1c75828ecf8fd1c6eaf74c6ec6ff367 gcc/tree-ssa-threadupdate.h 48f066aa5a376e7a36880dda3175f693 gcc/tree-ssa-uncprop.c ! 8352e9f09efc638da2e95e7caedde2df gcc/tree-ssa-uninit.c ff8c6f3ea3a80efdb5465075b830bdba gcc/tree-ssa.c 40537e4def470af52fd09e8f581a87a4 gcc/tree-ssa.h a4ec23ea5dc99ee2c0f433cc4380cf71 gcc/tree-ssanames.c *************** ddb2dd33dea05630b1bcaf17cf1e6fe6 gcc/tr *** 57754,57771 **** 4f1437900d1eae97e34eee340c78d8f0 gcc/tree-tailcall.c 60ac277fe744bdffc1d3cc8d23c114e3 gcc/tree-vect-data-refs.c 9c4b793372502f0d56cc72e8bf4bd0c3 gcc/tree-vect-generic.c ! 304ad4e356fb822f28e4b42965218e62 gcc/tree-vect-loop-manip.c ! 9b6b13ac1b90a0adc6f5ee94ba68ec72 gcc/tree-vect-loop.c ! 6316f13f34c61edb2112ee83afcf6f76 gcc/tree-vect-patterns.c ! d10be64c52f38ae35a44db0ec4ed850d gcc/tree-vect-slp.c ! 3a78630c6ec2ebbb8dbe30865c3a4122 gcc/tree-vect-stmts.c 6491d8028906ba909a4fd71f061f338f gcc/tree-vectorizer.c 76daa3059be9109db2b7dce0d0cf119a gcc/tree-vectorizer.h ! 77c216596dd02a8f51648625fb0b23bf gcc/tree-vrp.c d0b07570d4815d6988ff91b7d96f35c1 gcc/tree-vrp.h ! 941f0b83f9dd9a2d819b09cc8bc8dc65 gcc/tree.c c54cff3017739446f22655474c5be4d4 gcc/tree.def ! 710e3721eae900b89ffd181a6321062f gcc/tree.h f8aeb637e24e2147a52ec643e9c28aef gcc/treestruct.def 920500c599697836ec34d26fcdc64054 gcc/tsan.c 4a8b8b62b3cda63b7ce4273fb84b74fa gcc/tsan.h --- 58070,58087 ---- 4f1437900d1eae97e34eee340c78d8f0 gcc/tree-tailcall.c 60ac277fe744bdffc1d3cc8d23c114e3 gcc/tree-vect-data-refs.c 9c4b793372502f0d56cc72e8bf4bd0c3 gcc/tree-vect-generic.c ! de2a4509a3f3fdf59c0e96c1fb5d368c gcc/tree-vect-loop-manip.c ! 46e827311bbf8fdfb1591039c2eacc58 gcc/tree-vect-loop.c ! 13b9ab9878d38fbb5b9ab9e2a3b9fc3e gcc/tree-vect-patterns.c ! f197c7c8e99de5214d384509ebb6944f gcc/tree-vect-slp.c ! 141eed5be7d6df1c702136c8533627f6 gcc/tree-vect-stmts.c 6491d8028906ba909a4fd71f061f338f gcc/tree-vectorizer.c 76daa3059be9109db2b7dce0d0cf119a gcc/tree-vectorizer.h ! b03da7a5c9800ea4e58962dbc7df7d13 gcc/tree-vrp.c d0b07570d4815d6988ff91b7d96f35c1 gcc/tree-vrp.h ! 8893b18805ad8418a04858636de77a47 gcc/tree.c c54cff3017739446f22655474c5be4d4 gcc/tree.def ! 223a81503038013bef7ce9d880566d21 gcc/tree.h f8aeb637e24e2147a52ec643e9c28aef gcc/treestruct.def 920500c599697836ec34d26fcdc64054 gcc/tsan.c 4a8b8b62b3cda63b7ce4273fb84b74fa gcc/tsan.h *************** f8aeb637e24e2147a52ec643e9c28aef gcc/tr *** 57773,57786 **** 5efa8f3343ecdf353e4049ac62790fd1 gcc/typeclass.h aab19944e5d4ede282dca320f8ad2758 gcc/typed-splay-tree.c 8546cfccd93736ce37e8356167a8c8d3 gcc/typed-splay-tree.h ! 4e0c396d7f07487310de1abbfe1c9afa gcc/ubsan.c abd69325eb08fa62d523a28ffb55a64c gcc/ubsan.h ! ad3126878606ef1f2a1dcdc03c432674 gcc/valtrack.c fe46b58c2d968098a9ae6e7a7445cae3 gcc/valtrack.h 98fdc9a291306955c55665ff6b44c42b gcc/value-prof.c ac107bcf2a6f3e451007922fe6c8da2a gcc/value-prof.h 08bf2c7378d10540c4ebbbdf57a90827 gcc/var-tracking.c ! 7d9f2e6e29763de2023075d8a9726800 gcc/varasm.c 3075dcabae19eef70790c35d5576a237 gcc/varasm.h a1e741d53ddf1d949ec51b34ae13e6d5 gcc/varpool.c c77ffc837d830d397f3be14b28431037 gcc/vec.c --- 58089,58102 ---- 5efa8f3343ecdf353e4049ac62790fd1 gcc/typeclass.h aab19944e5d4ede282dca320f8ad2758 gcc/typed-splay-tree.c 8546cfccd93736ce37e8356167a8c8d3 gcc/typed-splay-tree.h ! 37dab9d9536027628de494391d84137a gcc/ubsan.c abd69325eb08fa62d523a28ffb55a64c gcc/ubsan.h ! c8b43ae28a594feb1a7832ffcf1ff166 gcc/valtrack.c fe46b58c2d968098a9ae6e7a7445cae3 gcc/valtrack.h 98fdc9a291306955c55665ff6b44c42b gcc/value-prof.c ac107bcf2a6f3e451007922fe6c8da2a gcc/value-prof.h 08bf2c7378d10540c4ebbbdf57a90827 gcc/var-tracking.c ! de0aa24b5d1dcbba68b0797102ca4b12 gcc/varasm.c 3075dcabae19eef70790c35d5576a237 gcc/varasm.h a1e741d53ddf1d949ec51b34ae13e6d5 gcc/varpool.c c77ffc837d830d397f3be14b28431037 gcc/vec.c *************** e48b954d508e3167f06f4a8d82ea5cd8 gcc/wi *** 57799,57809 **** 4610af587f4dc950fe9a6ef2235dfff9 gcc/xcoff.h d7feb10b49afbc551ef8ef0e7c8b382a gcc/xcoffout.c 8ac0a7cac3c2354f43d17230a00549ee gcc/xcoffout.h ! ff662ee9fa406cabf16cea053ab1b238 gnattools/ChangeLog aaa671ca98fa9f94bfedd0ab395c5505 gnattools/Makefile.in c59f18e88cbf4b04095185094daf9a84 gnattools/configure eb3f980bf11ec11e25ddc6f29983830a gnattools/configure.ac ! 6e8e75236b4034947f158a6c7676003c gotools/ChangeLog 240cdfac222bad04b3c6c59b6e33224f gotools/Makefile.am b135327a9b19851bf704c9bdac3735cf gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README --- 58115,58125 ---- 4610af587f4dc950fe9a6ef2235dfff9 gcc/xcoff.h d7feb10b49afbc551ef8ef0e7c8b382a gcc/xcoffout.c 8ac0a7cac3c2354f43d17230a00549ee gcc/xcoffout.h ! 335e82b464efbb300226d808cf24ca72 gnattools/ChangeLog aaa671ca98fa9f94bfedd0ab395c5505 gnattools/Makefile.in c59f18e88cbf4b04095185094daf9a84 gnattools/configure eb3f980bf11ec11e25ddc6f29983830a gnattools/configure.ac ! 2f22e44a2af15334163d3276c7d8321c gotools/ChangeLog 240cdfac222bad04b3c6c59b6e33224f gotools/Makefile.am b135327a9b19851bf704c9bdac3735cf gotools/Makefile.in 7e23031e2e274aaa07b61c1e8f18dc99 gotools/README *************** c4e8176c1964a5ebe0a55900f2141299 gotool *** 57815,57821 **** eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! 3baa0e2b8383803a3bd78e26125d23c0 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit f5224d917e0ec7656fa5c368c93b1c13 include/ansidecl.h --- 58131,58137 ---- eb2aeb3a6cffe7b26a8f1c8a2da23dcd gotools/gofmt.1 59530bdf33659b29e73d4adb9f9f6552 include/COPYING d32239bcb673463ab874e80d47fae504 include/COPYING3 ! 9715299feb9a5a57527e6fe033fa28e7 include/ChangeLog 4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103 a43d76108493b20da790f953f829c6a5 include/ChangeLog.jit f5224d917e0ec7656fa5c368c93b1c13 include/ansidecl.h *************** a2c2be56ed85992d72e0a1e16388ce83 includ *** 57859,57865 **** a3809e336de193fa8866271870dd0443 include/xregex2.h 323e072fba874802e42a3a1a6468b335 include/xtensa-config.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! d3a705616faa8b1a493b325c09c7b026 intl/ChangeLog cad1d6fab2274517783de7433c0faa74 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION --- 58175,58181 ---- a3809e336de193fa8866271870dd0443 include/xregex2.h 323e072fba874802e42a3a1a6468b335 include/xtensa-config.h 361482dd6b5b5eb7090fff3986fba68a install-sh ! 8db5696095c153c4474f4caa06b74736 intl/ChangeLog cad1d6fab2274517783de7433c0faa74 intl/Makefile.in 6ec998bb4716c744bf8185e607f69301 intl/README 76ca170a525d5b84d90f0478fe788931 intl/VERSION *************** d50a8c6c5b41089930accbdce767d3c0 intl/p *** 57901,57912 **** b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! 9a41546685f0d769aefc51d0d5ca69c1 libada/ChangeLog 85a2c02d6be7c7bbef19b47329e3f001 libada/Makefile.in e5e690bd9711d1a0ae3494a605a70916 libada/configure e29be9defcc56c307519b82f9be9bf6b libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! 3fec5f962aaec44621fde053eb734776 libatomic/ChangeLog 0e2617e8dd9c8750a069dec0be5238aa libatomic/Makefile.am a4b4277b02f2c77ee920b5da5684fc9f libatomic/Makefile.in 361fca640a8f8ae0534948c6464cd031 libatomic/acinclude.m4 --- 58217,58228 ---- b4758a0194e3e41362b939911472ce62 intl/relocatable.c bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h 43f287d082528203fc85c1d2d81bf30d intl/textdomain.c ! 667592b34a262e9ae2c75b66c55d929b libada/ChangeLog 85a2c02d6be7c7bbef19b47329e3f001 libada/Makefile.in e5e690bd9711d1a0ae3494a605a70916 libada/configure e29be9defcc56c307519b82f9be9bf6b libada/configure.ac 46d3fe6da7a771cc2d5420c4137a6861 libatomic/.gitignore ! b88e69ba2978aa781b28dc5e4f54aed4 libatomic/ChangeLog 0e2617e8dd9c8750a069dec0be5238aa libatomic/Makefile.am a4b4277b02f2c77ee920b5da5684fc9f libatomic/Makefile.in 361fca640a8f8ae0534948c6464cd031 libatomic/acinclude.m4 *************** c03a072efac9b30f8f8429ac52fd246b libato *** 57990,57996 **** 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! b1c6f09d6173de72aed818931e2e3f22 libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit be5cf12569500d943e2cb547bdf7a602 libbacktrace/Makefile.am d470ca14200db6955e2aa4b9e0bdb4ad libbacktrace/Makefile.in --- 58306,58312 ---- 8a7308fda7ed1543cb9e3be0f8e47bce libatomic/testsuite/libatomic.c/atomic-store-5.c 40618200985a15bcba64f871863da498 libatomic/testsuite/libatomic.c/c.exp 97b0c9cdfcb733664bdf4efe0f5dc449 libatomic/testsuite/libatomic.c/generic-2.c ! b1fa4188808da237c034a12a86cf7910 libbacktrace/ChangeLog eb3a88b53140eb234a99a4b3a55e56bf libbacktrace/ChangeLog.jit be5cf12569500d943e2cb547bdf7a602 libbacktrace/Makefile.am d470ca14200db6955e2aa4b9e0bdb4ad libbacktrace/Makefile.in *************** ea59e6affbd3dfdc4d250a1016205286 libbac *** 58006,58012 **** 795c4fbfd104d584f9e29969ebcaa030 libbacktrace/configure e99e9036b14ccebd7aa36958fe6a41a1 libbacktrace/configure.ac 6cce3ef18b54d7447814e3f615d5628b libbacktrace/dwarf.c ! d2d0b7c4e44d16684f17236e0786917d libbacktrace/elf.c 75591e75e1d21192dad40f60c1c41eaf libbacktrace/fileline.c 51926f4b28baf759f214371541616bd8 libbacktrace/filetype.awk 361354df8f6239a47e807cfafe5b8e2b libbacktrace/internal.h --- 58322,58328 ---- 795c4fbfd104d584f9e29969ebcaa030 libbacktrace/configure e99e9036b14ccebd7aa36958fe6a41a1 libbacktrace/configure.ac 6cce3ef18b54d7447814e3f615d5628b libbacktrace/dwarf.c ! f328ad0ea404e0c1dffcfc486082d1b1 libbacktrace/elf.c 75591e75e1d21192dad40f60c1c41eaf libbacktrace/fileline.c 51926f4b28baf759f214371541616bd8 libbacktrace/filetype.awk 361354df8f6239a47e807cfafe5b8e2b libbacktrace/internal.h *************** ba2412bc59c92c67dbc379a84dd9f9e8 libbac *** 58022,58028 **** 2fbbbd9fd16e0d40ff744a53d93672f4 libbacktrace/state.c 2659132b1c1fb664296bed58947a1327 libbacktrace/stest.c 0c34f70856e684a5a2d88cef4d26a433 libbacktrace/unknown.c ! f90315956818d41d2a05c124090ca654 libcc1/ChangeLog a046123da46f45ef05c23464bda5ea4c libcc1/Makefile.am 3b8fea7df7b2debbea080163365ba6ae libcc1/Makefile.in 5f253fc15bb29a40419f12ce42f92147 libcc1/aclocal.m4 --- 58338,58344 ---- 2fbbbd9fd16e0d40ff744a53d93672f4 libbacktrace/state.c 2659132b1c1fb664296bed58947a1327 libbacktrace/stest.c 0c34f70856e684a5a2d88cef4d26a433 libbacktrace/unknown.c ! 7a139742f98fc9574b714535d7f1f324 libcc1/ChangeLog a046123da46f45ef05c23464bda5ea4c libcc1/Makefile.am 3b8fea7df7b2debbea080163365ba6ae libcc1/Makefile.in 5f253fc15bb29a40419f12ce42f92147 libcc1/aclocal.m4 *************** adf6e179394cf6ed80e1c2c7fcf92d1f libcc1 *** 58050,58056 **** c66f2f1d1887d636535fd09532a98f2f libcc1/names.hh 4e2e588c20bbaefa4ce3a333e0ba9a98 libcc1/rpc.hh e0b03ce59463dc7215bdec25060a78fe libcc1/status.hh ! d05ec461791a3f6b751bbd7c6e6f2a46 libcilkrts/ChangeLog c60cb24ed9572dea78562531f0136e1d libcilkrts/Makefile.am 6e9956a8b6e5fc457cc5ddb53701d8ca libcilkrts/Makefile.in ec72a9778565ec08ebbe13cb95aa7245 libcilkrts/README --- 58366,58372 ---- c66f2f1d1887d636535fd09532a98f2f libcc1/names.hh 4e2e588c20bbaefa4ce3a333e0ba9a98 libcc1/rpc.hh e0b03ce59463dc7215bdec25060a78fe libcc1/status.hh ! 883e47907e8fe25752928170cbfd04b6 libcilkrts/ChangeLog c60cb24ed9572dea78562531f0136e1d libcilkrts/Makefile.am 6e9956a8b6e5fc457cc5ddb53701d8ca libcilkrts/Makefile.in ec72a9778565ec08ebbe13cb95aa7245 libcilkrts/README *************** ed7c4b18a37a9956d38cc2de890d5c0f libcil *** 58179,58185 **** 0c426f98ab2644f7789533e26a81622e libcilkrts/runtime/sysdep.h 2c3a3b2209bf4b41ad77b803856dc02a libcilkrts/runtime/worker_mutex.c ef828695a2adb12b2c20e35ffae8e0c8 libcilkrts/runtime/worker_mutex.h ! 63b37be6b0342eeecaac5b9f93ed139c libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit 09398b05cc9619875b188b5b9b5fb8a0 libcpp/Makefile.in efb9decde4743620252ededfe7310a3d libcpp/aclocal.m4 --- 58495,58501 ---- 0c426f98ab2644f7789533e26a81622e libcilkrts/runtime/sysdep.h 2c3a3b2209bf4b41ad77b803856dc02a libcilkrts/runtime/worker_mutex.c ef828695a2adb12b2c20e35ffae8e0c8 libcilkrts/runtime/worker_mutex.h ! 859b1092c134f37db673b8b6cbfa7ffa libcpp/ChangeLog 2bd831b17997584e38305782cebe6948 libcpp/ChangeLog.jit 09398b05cc9619875b188b5b9b5fb8a0 libcpp/Makefile.in efb9decde4743620252ededfe7310a3d libcpp/aclocal.m4 *************** ed5ae555e8b77d54908f99c283c3c9e3 libcpp *** 58200,58213 **** 256e5394d29351bac347fd897d54b1e8 libcpp/include/symtab.h 97ee7d4a3afe6532296b07ebbb2b15f9 libcpp/init.c b618c6ecc923dab6711dc34f8ed6881f libcpp/internal.h ! 4937cf1a7061c5671fe7c7c47109e4b2 libcpp/lex.c f74674c346dfa1c3fbd08fa9869f6a48 libcpp/line-map.c eba197e195fb1c007bf0724c8bed75ea libcpp/location-example.txt c5c375af513d7883fd2eb47dfc975855 libcpp/macro.c 5bd25c7374dce6b4204276b21cdfa31d libcpp/makeucnid.c e70c5326d8d9cbbf9ca5ae4ca2dc1370 libcpp/mkdeps.c 9f76d47dc04496af0317d5a8d0a1bcbd libcpp/pch.c ! 5aa02ad09cc05c8bd9452be7e10c3717 libcpp/po/ChangeLog 17a463bdc4264f83ff6f5deb2fc0b3a6 libcpp/po/be.gmo 674a2819e662ae2d8bfbb6285a7ad2c4 libcpp/po/be.po c4f0b21d10c51c5c842d92f8c6bd1e2b libcpp/po/ca.gmo --- 58516,58529 ---- 256e5394d29351bac347fd897d54b1e8 libcpp/include/symtab.h 97ee7d4a3afe6532296b07ebbb2b15f9 libcpp/init.c b618c6ecc923dab6711dc34f8ed6881f libcpp/internal.h ! 7485b7c49eff198df495f1913b1cb9d9 libcpp/lex.c f74674c346dfa1c3fbd08fa9869f6a48 libcpp/line-map.c eba197e195fb1c007bf0724c8bed75ea libcpp/location-example.txt c5c375af513d7883fd2eb47dfc975855 libcpp/macro.c 5bd25c7374dce6b4204276b21cdfa31d libcpp/makeucnid.c e70c5326d8d9cbbf9ca5ae4ca2dc1370 libcpp/mkdeps.c 9f76d47dc04496af0317d5a8d0a1bcbd libcpp/pch.c ! 861ed67759d42c659a9fa48d8c2c021e libcpp/po/ChangeLog 17a463bdc4264f83ff6f5deb2fc0b3a6 libcpp/po/be.gmo 674a2819e662ae2d8bfbb6285a7ad2c4 libcpp/po/be.po c4f0b21d10c51c5c842d92f8c6bd1e2b libcpp/po/ca.gmo *************** cea4768b3d4d14d9a800773faf100388 libcpp *** 58257,58263 **** a62eb585eca6fd68a7bbe8b9294972d4 libcpp/ucnid.h 29a3c2eb1562ff70daad7253fabaeffb libcpp/ucnid.tab a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! 4153d495300afd6e73b4c05465a76925 libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit 1a6bde55e34f3c983baa5211a6400cba libdecnumber/Makefile.in b9ab907f769f0664ed31991a9c9bf3bb libdecnumber/aclocal.m4 --- 58573,58579 ---- a62eb585eca6fd68a7bbe8b9294972d4 libcpp/ucnid.h 29a3c2eb1562ff70daad7253fabaeffb libcpp/ucnid.tab a6c2b3de06c7424706b16f4c206396a1 libdecnumber/.gitignore ! f68ff63672ed87f646d41249f7396b0b libdecnumber/ChangeLog 2bd831b17997584e38305782cebe6948 libdecnumber/ChangeLog.jit 1a6bde55e34f3c983baa5211a6400cba libdecnumber/Makefile.in b9ab907f769f0664ed31991a9c9bf3bb libdecnumber/aclocal.m4 *************** a97c47969dfc92a7666dfe3c2e1e1448 libdec *** 58320,58326 **** f8f385e8ac437b3cec6d5d257a8ca92b libdecnumber/dpd/decimal64.c c44ad1b41c2725fb70917c5f60b033d2 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! f42a2ff9994d25132cf709925f759586 libffi/ChangeLog ba66fc19311348d373ec271be939a659 libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 --- 58636,58642 ---- f8f385e8ac437b3cec6d5d257a8ca92b libdecnumber/dpd/decimal64.c c44ad1b41c2725fb70917c5f60b033d2 libdecnumber/dpd/decimal64.h 0f6db29710e7075c2fd62bc4478b3b8d libdecnumber/dpd/decimal64Symbols.h ! 0881e1571c2df2a1339ed96cd7f9a597 libffi/ChangeLog ba66fc19311348d373ec271be939a659 libffi/ChangeLog.libffi fbbc216bc25d759a72ea3e6d734af56b libffi/ChangeLog.libgcj d946d2b97454ad50a1dbfbf48923c5be libffi/ChangeLog.v1 *************** d47c79b281339983862a8e52d8c73f0f libffi *** 58677,58685 **** 291be426192f460f6a07dfe1c96ab094 libffi/testsuite/libffi.special/special.exp 93fc3ea311b79f64004992807ce75d1e libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! dca8b0550b04fbed8622a331edc02dfb libgcc/ChangeLog 14791b3aecdd572b8a4ecb3ea32778db libgcc/Makefile.in ! 95a0458c3031af140af9db9c168af776 libgcc/config.host d379c1b8013b8714e8c9b01110f0ceb9 libgcc/config.in 0ec94edef92736a572f23163aecddb69 libgcc/config/aarch64/aarch64-unwind.h 0f24438599446b7705f90a715e825b26 libgcc/config/aarch64/crtfastmath.c --- 58993,59001 ---- 291be426192f460f6a07dfe1c96ab094 libffi/testsuite/libffi.special/special.exp 93fc3ea311b79f64004992807ce75d1e libffi/testsuite/libffi.special/unwindtest.cc 185d0795017fbbe253a13db8e34085f9 libffi/testsuite/libffi.special/unwindtest_ffi_call.cc ! f4e7baa344f6fd2468153b84bf994ee6 libgcc/ChangeLog 14791b3aecdd572b8a4ecb3ea32778db libgcc/Makefile.in ! 186f54217a4d7fe1af46a0228b0997b4 libgcc/config.host d379c1b8013b8714e8c9b01110f0ceb9 libgcc/config.in 0ec94edef92736a572f23163aecddb69 libgcc/config/aarch64/aarch64-unwind.h 0f24438599446b7705f90a715e825b26 libgcc/config/aarch64/crtfastmath.c *************** a15c0e15f0a6c9989393afdf26fb8d30 libgcc *** 58947,58953 **** 920049a2261f8bd7966f7bc02ed26954 libgcc/config/i386/dragonfly-unwind.h eba0fa18705d83070595c471d6663ee1 libgcc/config/i386/elf-lib.h 95e880092a36064dfae4fb4fd2cb60a6 libgcc/config/i386/enable-execute-stack-mingw32.c ! ad974b61c0e4a8410ebd49243d585f87 libgcc/config/i386/freebsd-unwind.h 81a125c25b28c03ba8d18c8590c93ef1 libgcc/config/i386/gthr-win32.c 35160d5e260cecc05023387a8a4411e0 libgcc/config/i386/gthr-win32.h f8fdbd2a13bbc3ba81f75a069ad8c59a libgcc/config/i386/libgcc-bsd.ver --- 59263,59269 ---- 920049a2261f8bd7966f7bc02ed26954 libgcc/config/i386/dragonfly-unwind.h eba0fa18705d83070595c471d6663ee1 libgcc/config/i386/elf-lib.h 95e880092a36064dfae4fb4fd2cb60a6 libgcc/config/i386/enable-execute-stack-mingw32.c ! 8cb90584522452f1f644dba6971e1fbd libgcc/config/i386/freebsd-unwind.h 81a125c25b28c03ba8d18c8590c93ef1 libgcc/config/i386/gthr-win32.c 35160d5e260cecc05023387a8a4411e0 libgcc/config/i386/gthr-win32.h f8fdbd2a13bbc3ba81f75a069ad8c59a libgcc/config/i386/libgcc-bsd.ver *************** e8ba4116276e7713f582c7b0193fac3f libgcc *** 59023,59029 **** 19e293667c8b673f1c0e2284b85f9b99 libgcc/config/ia64/vms-unwind.h 57c6f8e50666a31bd88fbbebfbd77725 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! 581a91bbef7215dd759aa97577f2b372 libgcc/config/libbid/ChangeLog bf92e3d9d8c85d16491b46e9b705e9d6 libgcc/config/libbid/_addsub_dd.c 07fb00a8e3903086b062319087bfd206 libgcc/config/libbid/_addsub_sd.c 7ae95dbcf6a647ed194b9156e261646f libgcc/config/libbid/_addsub_td.c --- 59339,59345 ---- 19e293667c8b673f1c0e2284b85f9b99 libgcc/config/ia64/vms-unwind.h 57c6f8e50666a31bd88fbbebfbd77725 libgcc/config/iq2000/lib2funcs.c 102f7dad8ad6b54434a1b8313d1e42c4 libgcc/config/iq2000/t-iq2000 ! 39f998db687cee6b109fb6e51abf0da5 libgcc/config/libbid/ChangeLog bf92e3d9d8c85d16491b46e9b705e9d6 libgcc/config/libbid/_addsub_dd.c 07fb00a8e3903086b062319087bfd206 libgcc/config/libbid/_addsub_sd.c 7ae95dbcf6a647ed194b9156e261646f libgcc/config/libbid/_addsub_td.c *************** be1b06de574a22c34d2cf93d2d68a4f1 libgcc *** 59734,59740 **** af4d0171177804d191bde785efb951a4 libgcc/config/sh/t-sh 00d4a30e4ed4a68cd6ec53feb398914b libgcc/config/sh/t-superh 5c4258746f1e76995512d61f11aaade9 libgcc/config/sol2/crtp.c ! 3d844dd061aacbebfe763db85dbedd61 libgcc/config/sol2/crtpg.c 5e87cfc189f02028b142950527a73c54 libgcc/config/sol2/gmon.c 51302367996e01675d4265b56c45fc28 libgcc/config/sol2/t-sol2 0c5f87ef5fd91cc4f20c3302f2d624f3 libgcc/config/sparc/crtfastmath.c --- 60050,60056 ---- af4d0171177804d191bde785efb951a4 libgcc/config/sh/t-sh 00d4a30e4ed4a68cd6ec53feb398914b libgcc/config/sh/t-superh 5c4258746f1e76995512d61f11aaade9 libgcc/config/sol2/crtp.c ! cfd3f0c9c25c11eb9056d6cf0e56abf4 libgcc/config/sol2/crtpg.c 5e87cfc189f02028b142950527a73c54 libgcc/config/sol2/gmon.c 51302367996e01675d4265b56c45fc28 libgcc/config/sol2/t-sol2 0c5f87ef5fd91cc4f20c3302f2d624f3 libgcc/config/sparc/crtfastmath.c *************** b9cd590f5c1e6238b6ab206e07305458 libgcc *** 59858,59865 **** 2ce85317187cb677233d85814961e347 libgcc/config/vxlib.c abb50614554adbd89fd57730481cf2fd libgcc/config/xtensa/crti.S 80a0d063d42ac902c4ee9de56d80c91c libgcc/config/xtensa/crtn.S ! 89ba25878b095922a284edbd2336814c libgcc/config/xtensa/ieee754-df.S ! 48f53ff6dd067712026331d5c03a9634 libgcc/config/xtensa/ieee754-sf.S 51d0d68dfa013f26914d51e64c7eea73 libgcc/config/xtensa/lib1funcs.S 6d331228694c1d2aae30404724c9bbfa libgcc/config/xtensa/lib2funcs.S 8074695f5eea7b961c59ee9608973dac libgcc/config/xtensa/libgcc-glibc.ver --- 60174,60181 ---- 2ce85317187cb677233d85814961e347 libgcc/config/vxlib.c abb50614554adbd89fd57730481cf2fd libgcc/config/xtensa/crti.S 80a0d063d42ac902c4ee9de56d80c91c libgcc/config/xtensa/crtn.S ! 7a62a4c550efc9a29d72c0d5dbd1d68f libgcc/config/xtensa/ieee754-df.S ! 00e7cf351e56f1fa8f6495e7c8afa39a libgcc/config/xtensa/ieee754-sf.S 51d0d68dfa013f26914d51e64c7eea73 libgcc/config/xtensa/lib1funcs.S 6d331228694c1d2aae30404724c9bbfa libgcc/config/xtensa/lib2funcs.S 8074695f5eea7b961c59ee9608973dac libgcc/config/xtensa/libgcc-glibc.ver *************** ce614fa17d52c2d7121d7e2d6f80b02d libgcc *** 59870,59877 **** 9acbec9b3406a3560d608714300a7edf libgcc/config/xtensa/t-xtensa 52c63e24e865e7d3438d8cd7525e0929 libgcc/config/xtensa/unwind-dw2-xtensa.c d5a4b2ace6f8b31a12c87968726af4a1 libgcc/config/xtensa/unwind-dw2-xtensa.h ! df06306cc6c0c735673f924ea5c443e0 libgcc/configure ! 31822db896fdaa486163b49fc37b2510 libgcc/configure.ac 991b872cd62bda98ff01a541d9a824d1 libgcc/crtstuff.c 9e127f1f1924d9f6ff6bf02146b8f5d3 libgcc/dfp-bit.c 8ce0088459d3236d365b9dd8e3b0b558 libgcc/dfp-bit.h --- 60186,60193 ---- 9acbec9b3406a3560d608714300a7edf libgcc/config/xtensa/t-xtensa 52c63e24e865e7d3438d8cd7525e0929 libgcc/config/xtensa/unwind-dw2-xtensa.c d5a4b2ace6f8b31a12c87968726af4a1 libgcc/config/xtensa/unwind-dw2-xtensa.h ! cb28e057ef5e061bab1c7c1982c0f488 libgcc/configure ! 02f85646f1b3d27965a5ceaf5c168384 libgcc/configure.ac 991b872cd62bda98ff01a541d9a824d1 libgcc/crtstuff.c 9e127f1f1924d9f6ff6bf02146b8f5d3 libgcc/dfp-bit.c 8ce0088459d3236d365b9dd8e3b0b558 libgcc/dfp-bit.h *************** a32570525f8279f0d808583967306ed5 libgcc *** 59901,59907 **** f7e65caf8363def17fd55e32366e751e libgcc/gthr-single.h 76d07cb565825976b394e18969785af4 libgcc/gthr.h a5c670285223c3603b11db17aa8c91d5 libgcc/libgcc-std.ver.in ! 64083d283d1b218f812f104602a4d726 libgcc/libgcc2.c e960194e9ce4960066adb5c22b16a736 libgcc/libgcc2.h 31818e38d439a78412d056be79a0691c libgcc/libgcov-driver-system.c 7626876b23251978d21cf91f55d6173f libgcc/libgcov-driver.c --- 60217,60223 ---- f7e65caf8363def17fd55e32366e751e libgcc/gthr-single.h 76d07cb565825976b394e18969785af4 libgcc/gthr.h a5c670285223c3603b11db17aa8c91d5 libgcc/libgcc-std.ver.in ! 8ec4a99466553d16e61c898669edc720 libgcc/libgcc2.c e960194e9ce4960066adb5c22b16a736 libgcc/libgcc2.h 31818e38d439a78412d056be79a0691c libgcc/libgcov-driver-system.c 7626876b23251978d21cf91f55d6173f libgcc/libgcov-driver.c *************** def8eb8348b4ef12e5f4f6b14c9c79b8 libgcc *** 60032,60038 **** 85a736ad90e4160d44daa22a1ee856e0 libgcc/vtv_end_preinit.c fc4b471f8466a3e259cd068859f264ed libgcc/vtv_start.c 9f844965cec8eed0fa3ddc704bfb5262 libgcc/vtv_start_preinit.c ! 27c99a505efd25b8a401e8c0b57866e2 libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 --- 60348,60354 ---- 85a736ad90e4160d44daa22a1ee856e0 libgcc/vtv_end_preinit.c fc4b471f8466a3e259cd068859f264ed libgcc/vtv_start.c 9f844965cec8eed0fa3ddc704bfb5262 libgcc/vtv_start_preinit.c ! 14c297b83959185f26a3222d9d15133d libgfortran/ChangeLog 9aca36338382e5b4b730e7779170b24d libgfortran/ChangeLog-2002 80d3edc880c2da0b7a2beec2e2c4f774 libgfortran/ChangeLog-2003 9f0239429993a5e64ed793eb6c55a5c1 libgfortran/ChangeLog-2004 *************** ef9cbfff178917648c1a740bb7589fb4 libgfo *** 60571,60577 **** a6f4f8d6342b90bfbd88a1244ec4abf8 libgfortran/intrinsics/erfc_scaled.c 6fbe9875bbd526c42d0bcbdbb2257edb libgfortran/intrinsics/erfc_scaled_inc.c dffcc096263f3c80b0ebc35d85bc62d4 libgfortran/intrinsics/etime.c ! 12de96c0e9bb2ee41e5e15d6c1fd478e libgfortran/intrinsics/execute_command_line.c df9bac312e21be9aca3fe9d3634af98c libgfortran/intrinsics/exit.c fc360649f3dc8d22608724dbc5755cdb libgfortran/intrinsics/extends_type_of.c 72b53ca96b591c2cce9f96a6a14899b3 libgfortran/intrinsics/f2c_specifics.F90 --- 60887,60893 ---- a6f4f8d6342b90bfbd88a1244ec4abf8 libgfortran/intrinsics/erfc_scaled.c 6fbe9875bbd526c42d0bcbdbb2257edb libgfortran/intrinsics/erfc_scaled_inc.c dffcc096263f3c80b0ebc35d85bc62d4 libgfortran/intrinsics/etime.c ! 0867ce1bb17caae6740b053d1a9fdecf libgfortran/intrinsics/execute_command_line.c df9bac312e21be9aca3fe9d3634af98c libgfortran/intrinsics/exit.c fc360649f3dc8d22608724dbc5755cdb libgfortran/intrinsics/extends_type_of.c 72b53ca96b591c2cce9f96a6a14899b3 libgfortran/intrinsics/f2c_specifics.F90 *************** d6fdb691f829666c2f963b0f5bc54baa libgfo *** 60616,60637 **** ffdfa716b85d33300947cfb00ac4a60f libgfortran/io/fbuf.c 322bb696e6a56c4c313c89de1d12a62a libgfortran/io/fbuf.h 72fedb723a832841438b848e0276dc46 libgfortran/io/file_pos.c ! 91b963ff1e44ea8f7a2b3dc07d23e0fe libgfortran/io/format.c e1e47a4933e8cc465c4d32cce0d04e0a libgfortran/io/format.h ! da040b518553fe6d85b3725994f781b5 libgfortran/io/inquire.c 354cc9a41c9be8fc58337ee054842616 libgfortran/io/intrinsics.c ! c28a52906573318f54211902eda620a3 libgfortran/io/io.h ! 2e9d961e4107bbe5a8903582c1933f9d libgfortran/io/list_read.c aeb36c8b750c3ab57c7d50774a26e33a libgfortran/io/lock.c b33b5e02e59f46d957995c354c77f4c9 libgfortran/io/open.c 840308a2421c73db0a7e6ad265f3177e libgfortran/io/read.c 622a2a1592ced0d5e333d7d3735be2ee libgfortran/io/size_from_kind.c ! 8041fd6eb4c0dbded33ab97e04f36793 libgfortran/io/transfer.c e4c9061ab7a41f4935f0b0ad09a288ce libgfortran/io/transfer128.c ! 82c2edd81d90a6bc26f2d67b229575d9 libgfortran/io/unit.c ! 64ad02d2dc1685c3b62b54111ac9c6c6 libgfortran/io/unix.c 3aca9110d24b2377aff7692c40f8d4c0 libgfortran/io/unix.h ! 5574b1a9324d6d0bc2e889393df44944 libgfortran/io/write.c dab1a1143c48fb478a836dd3f0bb7619 libgfortran/io/write_float.def 2d7080a94650ac19727c9b138db44765 libgfortran/kinds-override.h 92ef6b7697422b2ad083fa00fb93d763 libgfortran/libgfortran.h --- 60932,60953 ---- ffdfa716b85d33300947cfb00ac4a60f libgfortran/io/fbuf.c 322bb696e6a56c4c313c89de1d12a62a libgfortran/io/fbuf.h 72fedb723a832841438b848e0276dc46 libgfortran/io/file_pos.c ! c867aa8a138f90ad717ed2067fbe6dab libgfortran/io/format.c e1e47a4933e8cc465c4d32cce0d04e0a libgfortran/io/format.h ! 90cec54bd94497b006b00584256aad6f libgfortran/io/inquire.c 354cc9a41c9be8fc58337ee054842616 libgfortran/io/intrinsics.c ! 45793601b3127f64e8988f7cf1a82ea4 libgfortran/io/io.h ! 3ee5e675423e68221227de63841b3b78 libgfortran/io/list_read.c aeb36c8b750c3ab57c7d50774a26e33a libgfortran/io/lock.c b33b5e02e59f46d957995c354c77f4c9 libgfortran/io/open.c 840308a2421c73db0a7e6ad265f3177e libgfortran/io/read.c 622a2a1592ced0d5e333d7d3735be2ee libgfortran/io/size_from_kind.c ! 7bf113902f35f1e7e886d6638f9c6e6c libgfortran/io/transfer.c e4c9061ab7a41f4935f0b0ad09a288ce libgfortran/io/transfer128.c ! 69d3d919a65ad9154c7967beafdd4fbc libgfortran/io/unit.c ! 3703118401401376f41ff9bf56e1eba7 libgfortran/io/unix.c 3aca9110d24b2377aff7692c40f8d4c0 libgfortran/io/unix.h ! 26f7567b4b956b10959a981cd4f003e7 libgfortran/io/write.c dab1a1143c48fb478a836dd3f0bb7619 libgfortran/io/write_float.def 2d7080a94650ac19727c9b138db44765 libgfortran/kinds-override.h 92ef6b7697422b2ad083fa00fb93d763 libgfortran/libgfortran.h *************** a0eebbac95bbfb27f4ef589bcc6afa01 libgfo *** 60700,60714 **** 51b81112d32fac007d49077ab9183d47 libgfortran/runtime/stop.c 205895fdf6a08ae7f8864a082ef09a3f libgfortran/runtime/string.c 5d4950ecb7b26d2c5e4e7b4e0dd74707 libgo/LICENSE ! 0e68aea1640472a509ecc05f267e905d libgo/MERGE ! 833f652fc175fefef6f8fd5a7a916761 libgo/Makefile.am ! 668d5cad361cdb10f7a175d677c0c33d libgo/Makefile.in 3a55d95595a6f9e37dee53826b4daff2 libgo/PATENTS 3a3d1f64c9a8149b9c46b1dcdd8df630 libgo/README d46376034c1fd6df47c8ba2cd5de9d0a libgo/README.gcc ! 75d2a601cb5e8274749bf9e78f5d2f74 libgo/VERSION 4f1e6c347a5a119166bee289ca2e824c libgo/aclocal.m4 ! 9163c238b34a8d72e7c5c3c2d0770a2c libgo/config.h.in ad1ce707d70b18d5d14bdbcfef82a9bb libgo/config/README 9a6e33ac95f7d5857d34f53bde4cb610 libgo/config/go.m4 ee0c1ad26a748f688dcc7bdb83fb9ba1 libgo/config/libtool.m4 --- 61016,61030 ---- 51b81112d32fac007d49077ab9183d47 libgfortran/runtime/stop.c 205895fdf6a08ae7f8864a082ef09a3f libgfortran/runtime/string.c 5d4950ecb7b26d2c5e4e7b4e0dd74707 libgo/LICENSE ! ea0f4a1480efcc07a20a821d9436da7e libgo/MERGE ! 64151242bc367050b5195ac9d30096ac libgo/Makefile.am ! 9233b2ed0afc20f6d7146037708d868a libgo/Makefile.in 3a55d95595a6f9e37dee53826b4daff2 libgo/PATENTS 3a3d1f64c9a8149b9c46b1dcdd8df630 libgo/README d46376034c1fd6df47c8ba2cd5de9d0a libgo/README.gcc ! b373c4f422ac2181d23d1cf35833507c libgo/VERSION 4f1e6c347a5a119166bee289ca2e824c libgo/aclocal.m4 ! c9bf0d4d612472a5ca23d60dc326006b libgo/config.h.in ad1ce707d70b18d5d14bdbcfef82a9bb libgo/config/README 9a6e33ac95f7d5857d34f53bde4cb610 libgo/config/go.m4 ee0c1ad26a748f688dcc7bdb83fb9ba1 libgo/config/libtool.m4 *************** dee72a6a60e99528b0d17bf3ff9a1e15 libgo/ *** 60717,60724 **** bc2f6032c98896249eadb56177c7d357 libgo/config/ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 libgo/config/ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 libgo/config/lt~obsolete.m4 ! d1cc59cb2f03cde5d8c8489c8ac6bf71 libgo/configure ! 14a40d770c8d14dcc68a646def15cffc libgo/configure.ac b047120e81fd6aa1ce65e8ac44ed1f02 libgo/go/archive/tar/common.go 927641dcc41cc2bd851f9cd61570fce0 libgo/go/archive/tar/format.go ba12113bc44e06830ee742c17c3d4678 libgo/go/archive/tar/reader.go --- 61033,61040 ---- bc2f6032c98896249eadb56177c7d357 libgo/config/ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 libgo/config/ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 libgo/config/lt~obsolete.m4 ! 7f82fef95905f7e6f8e823d99ad0bbd7 libgo/configure ! b33eb5ccad030c632490ab4bcebf1005 libgo/configure.ac b047120e81fd6aa1ce65e8ac44ed1f02 libgo/go/archive/tar/common.go 927641dcc41cc2bd851f9cd61570fce0 libgo/go/archive/tar/format.go ba12113bc44e06830ee742c17c3d4678 libgo/go/archive/tar/reader.go *************** bc4108615b2530662ec61debb216038d libgo/ *** 60806,60818 **** e6bd914918caaff96efa86df5c0a0809 libgo/go/cmd/cgo/doc.go 21602f57ace55ff98b8889281c96361c libgo/go/cmd/cgo/gcc.go 944792ddea61b43a5e1307b079a682e2 libgo/go/cmd/cgo/godefs.go ! eabc30f587d147eb622845a8fd58e35a libgo/go/cmd/cgo/main.go c08673f88cda97cc8daa39c85c5512be libgo/go/cmd/cgo/out.go 20f4ce54c3021ae87f2682eea92b104d libgo/go/cmd/cgo/util.go 16a024d475cedd007d25a96adf2cf001 libgo/go/cmd/go/alldocs.go 181c2b3dc32dcb70affa07751519f718 libgo/go/cmd/go/bootstrap.go 0476b81d2735f79d66d505b420198d29 libgo/go/cmd/go/bug.go ! 1a275d186e000c2f6d75c32ce293618e libgo/go/cmd/go/build.go b16d519b5e3cb0de66f076900da91053 libgo/go/cmd/go/build_test.go 743b2830e49a4508aaa854ed5a449c21 libgo/go/cmd/go/clean.go 224cbfc50a9e800f2f2e3747061d92f7 libgo/go/cmd/go/context.go --- 61122,61134 ---- e6bd914918caaff96efa86df5c0a0809 libgo/go/cmd/cgo/doc.go 21602f57ace55ff98b8889281c96361c libgo/go/cmd/cgo/gcc.go 944792ddea61b43a5e1307b079a682e2 libgo/go/cmd/cgo/godefs.go ! f20c1de76b107722a4202667d3037f20 libgo/go/cmd/cgo/main.go c08673f88cda97cc8daa39c85c5512be libgo/go/cmd/cgo/out.go 20f4ce54c3021ae87f2682eea92b104d libgo/go/cmd/cgo/util.go 16a024d475cedd007d25a96adf2cf001 libgo/go/cmd/go/alldocs.go 181c2b3dc32dcb70affa07751519f718 libgo/go/cmd/go/bootstrap.go 0476b81d2735f79d66d505b420198d29 libgo/go/cmd/go/bug.go ! adac16fb0602fbadb3f7370574f7c4d3 libgo/go/cmd/go/build.go b16d519b5e3cb0de66f076900da91053 libgo/go/cmd/go/build_test.go 743b2830e49a4508aaa854ed5a449c21 libgo/go/cmd/go/clean.go 224cbfc50a9e800f2f2e3747061d92f7 libgo/go/cmd/go/context.go *************** d5467a08de50d574db3680d9f038c2a1 libgo/ *** 61213,61219 **** f8f1a66d06d0397100ba4e89aa299655 libgo/go/crypto/ecdsa/ecdsa_test.go 0029cd1da64f60898b152b066ced6605 libgo/go/crypto/ecdsa/testdata/SigVer.rsp.bz2 3cfa1d96843438ac9a276593333aaaf6 libgo/go/crypto/elliptic/elliptic.go ! 23c529a275d407b2089b2428f765e37d libgo/go/crypto/elliptic/elliptic_test.go 0ef08f335f25efea77aa3ff4ce1ba27f libgo/go/crypto/elliptic/p224.go dc67e4ed0c45d557134ef9df1bc21811 libgo/go/crypto/elliptic/p224_test.go 0e11e0dcd5095d7e0ca59a2096960003 libgo/go/crypto/elliptic/p256.go --- 61529,61535 ---- f8f1a66d06d0397100ba4e89aa299655 libgo/go/crypto/ecdsa/ecdsa_test.go 0029cd1da64f60898b152b066ced6605 libgo/go/crypto/ecdsa/testdata/SigVer.rsp.bz2 3cfa1d96843438ac9a276593333aaaf6 libgo/go/crypto/elliptic/elliptic.go ! a556921edc761d8851511c87f724f2b2 libgo/go/crypto/elliptic/elliptic_test.go 0ef08f335f25efea77aa3ff4ce1ba27f libgo/go/crypto/elliptic/p224.go dc67e4ed0c45d557134ef9df1bc21811 libgo/go/crypto/elliptic/p224_test.go 0e11e0dcd5095d7e0ca59a2096960003 libgo/go/crypto/elliptic/p256.go *************** bb0c29e9d96e8917759e3d55083f61a5 libgo/ *** 61398,61405 **** 02f4ccbd55ef2dbd3ed2be2b5834c758 libgo/go/database/sql/driver/types.go 1ba0cbcd6ef965b8b3791e7825c14237 libgo/go/database/sql/driver/types_test.go 0cbd689ee13da552e035c7c3fb450cdf libgo/go/database/sql/fakedb_test.go ! f6e00232d7d77f3f2a1b95e5bd701279 libgo/go/database/sql/sql.go ! 9e1f14d166321132f2d9dffc1c7033fe libgo/go/database/sql/sql_test.go 1d8842a6e32cac7cb54269d83219bc1c libgo/go/debug/dwarf/buf.go 408457b3225fd0eb9c14df20194b11d2 libgo/go/debug/dwarf/class_string.go 91540c538fcbc5d4bb98fbcad31c21d0 libgo/go/debug/dwarf/const.go --- 61714,61721 ---- 02f4ccbd55ef2dbd3ed2be2b5834c758 libgo/go/database/sql/driver/types.go 1ba0cbcd6ef965b8b3791e7825c14237 libgo/go/database/sql/driver/types_test.go 0cbd689ee13da552e035c7c3fb450cdf libgo/go/database/sql/fakedb_test.go ! c9fbc5609c77423409f7d643fb99b252 libgo/go/database/sql/sql.go ! 7a721e18aa42d1095139628a80a30067 libgo/go/database/sql/sql_test.go 1d8842a6e32cac7cb54269d83219bc1c libgo/go/debug/dwarf/buf.go 408457b3225fd0eb9c14df20194b11d2 libgo/go/debug/dwarf/class_string.go 91540c538fcbc5d4bb98fbcad31c21d0 libgo/go/debug/dwarf/const.go *************** cf0adb331b16043d4ddb61265d41f81e libgo/ *** 61605,61611 **** 020b7067f306f80d1db2117d8a68ccdc libgo/go/go/build/doc.go d48cbae850a60e76803d78aa5f102e08 libgo/go/go/build/read.go d659ad6924912592ff08162db629f037 libgo/go/go/build/read_test.go ! cc40587ca4f6fd2de173959f5ddd014c libgo/go/go/build/syslist.go a3e1b4a47759ac93d3a90b8bda10894f libgo/go/go/build/syslist_test.go d41d8cd98f00b204e9800998ecf8427e libgo/go/go/build/testdata/empty/dummy 78d76f9ed4082cc04f88c2bd0a730b22 libgo/go/go/build/testdata/multi/file.go --- 61921,61927 ---- 020b7067f306f80d1db2117d8a68ccdc libgo/go/go/build/doc.go d48cbae850a60e76803d78aa5f102e08 libgo/go/go/build/read.go d659ad6924912592ff08162db629f037 libgo/go/go/build/read_test.go ! f13a766321475ab9041f4ecb13c42051 libgo/go/go/build/syslist.go a3e1b4a47759ac93d3a90b8bda10894f libgo/go/go/build/syslist_test.go d41d8cd98f00b204e9800998ecf8427e libgo/go/go/build/testdata/empty/dummy 78d76f9ed4082cc04f88c2bd0a730b22 libgo/go/go/build/testdata/multi/file.go *************** e8a6fe0412741ea16edfeb6355696fee libgo/ *** 62165,62173 **** e2500543be0b8649523eb8d8024ab1ba libgo/go/internal/syscall/unix/getrandom_linux_generic.go f1eab13ce71bd0b79c7fce50fd5f221c libgo/go/internal/syscall/unix/getrandom_linux_ia64.go 7f35aed28702173edff1131d2ab4bdb8 libgo/go/internal/syscall/unix/getrandom_linux_m68k.go ! 79df8c953a54b26fc72a6fc02ca444b6 libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go ! bdda7dd175366cdbb26f5cedac3c84b4 libgo/go/internal/syscall/unix/getrandom_linux_mipsn32.go ! 7979527feb364143235a401a06106042 libgo/go/internal/syscall/unix/getrandom_linux_mipso32.go fd79b2ebfa3daf7a2c6496008027f36f libgo/go/internal/syscall/unix/getrandom_linux_mipsx.go 8f0a345621433724ad7a3b158a619511 libgo/go/internal/syscall/unix/getrandom_linux_ppc64x.go 3bd2510b9d70ed458b5a1a0991143ddf libgo/go/internal/syscall/unix/getrandom_linux_s390.go --- 62481,62488 ---- e2500543be0b8649523eb8d8024ab1ba libgo/go/internal/syscall/unix/getrandom_linux_generic.go f1eab13ce71bd0b79c7fce50fd5f221c libgo/go/internal/syscall/unix/getrandom_linux_ia64.go 7f35aed28702173edff1131d2ab4bdb8 libgo/go/internal/syscall/unix/getrandom_linux_m68k.go ! a7b799b8d7258ec09d5fff3d4c6270d8 libgo/go/internal/syscall/unix/getrandom_linux_mips64p32x.go ! 0c0c934deb0c125c8487c636113f3598 libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go fd79b2ebfa3daf7a2c6496008027f36f libgo/go/internal/syscall/unix/getrandom_linux_mipsx.go 8f0a345621433724ad7a3b158a619511 libgo/go/internal/syscall/unix/getrandom_linux_ppc64x.go 3bd2510b9d70ed458b5a1a0991143ddf libgo/go/internal/syscall/unix/getrandom_linux_s390.go *************** ceea0cb8225acca2efcf22d039ad6b3f libgo/ *** 62458,62464 **** 2bf97b4fbbfe4b8828ad513902192c85 libgo/go/net/http/filetransport_test.go f3ba82261f84904b15da51cbb83be192 libgo/go/net/http/fs.go 0a2a8563d70ef51354bd7cfcdeca26b6 libgo/go/net/http/fs_test.go ! b326cee2e7512b4680956e81cfc95a95 libgo/go/net/http/h2_bundle.go c5e5e2ba8d5aae060571b514e229ed68 libgo/go/net/http/header.go a3668ebb380cb55bfa65a5404e7e5d3b libgo/go/net/http/header_test.go 9b7492afe9b043e78b2c14069edb43a7 libgo/go/net/http/http.go --- 62773,62779 ---- 2bf97b4fbbfe4b8828ad513902192c85 libgo/go/net/http/filetransport_test.go f3ba82261f84904b15da51cbb83be192 libgo/go/net/http/fs.go 0a2a8563d70ef51354bd7cfcdeca26b6 libgo/go/net/http/fs_test.go ! e138fa58ee4998da8e329cb106df2980 libgo/go/net/http/h2_bundle.go c5e5e2ba8d5aae060571b514e229ed68 libgo/go/net/http/header.go a3668ebb380cb55bfa65a5404e7e5d3b libgo/go/net/http/header_test.go 9b7492afe9b043e78b2c14069edb43a7 libgo/go/net/http/http.go *************** fa8fb2c58aeefaa0903c09cdc349b2c1 libgo/ *** 62872,62879 **** 0002f4b688cd2db0c9b444201dadd1f6 libgo/go/runtime/ffi.go c9111a913492d6c7c5a10781cf45fa00 libgo/go/runtime/gc_test.go f337a597a4f1a97884c416a80b0b9a0b libgo/go/runtime/gcinfo_test.go ! 4e2c7247d490d7fd9e5923c621cdcd93 libgo/go/runtime/hash32.go ! 10b291cade355e3df8d541210e67ab5a libgo/go/runtime/hash64.go 63c80916751c357c99ede1c0b8553615 libgo/go/runtime/hashmap.go 0ca8326a8a6f26109fb732bb92f57199 libgo/go/runtime/hashmap_fast.go a6c32b4dd4b3f757481b3ec4c3dda7e5 libgo/go/runtime/iface.go --- 63187,63194 ---- 0002f4b688cd2db0c9b444201dadd1f6 libgo/go/runtime/ffi.go c9111a913492d6c7c5a10781cf45fa00 libgo/go/runtime/gc_test.go f337a597a4f1a97884c416a80b0b9a0b libgo/go/runtime/gcinfo_test.go ! d5d4786981eb9c4feae8e89c74647134 libgo/go/runtime/hash32.go ! ab5badbb77a9775192bce41f7865f737 libgo/go/runtime/hash64.go 63c80916751c357c99ede1c0b8553615 libgo/go/runtime/hashmap.go 0ca8326a8a6f26109fb732bb92f57199 libgo/go/runtime/hashmap_fast.go a6c32b4dd4b3f757481b3ec4c3dda7e5 libgo/go/runtime/iface.go *************** f83c8a95c3e3dd03d3686f67102ee264 libgo/ *** 62888,62895 **** 054c7576b314d168546f7d251541d1ef libgo/go/runtime/internal/sys/stubs.go e500aff46eba14adeacdfd82a6ccd69c libgo/go/runtime/internal/sys/sys.go b9082ef932068399b5f7dad80736e47f libgo/go/runtime/lfstack.go ! b20531144e77c3cba82933661e8e9173 libgo/go/runtime/lfstack_32bit.go ! 61db683f724ef5b09a450b61d86829de libgo/go/runtime/lfstack_64bit.go 67fe49711e28c2362368b34e8bb09969 libgo/go/runtime/lfstack_test.go bf8fcac9bcb662b73656c02eb339ce38 libgo/go/runtime/lock_futex.go b14de3dd4c758bc52f3b25dc592ae899 libgo/go/runtime/lock_sema.go --- 63203,63210 ---- 054c7576b314d168546f7d251541d1ef libgo/go/runtime/internal/sys/stubs.go e500aff46eba14adeacdfd82a6ccd69c libgo/go/runtime/internal/sys/sys.go b9082ef932068399b5f7dad80736e47f libgo/go/runtime/lfstack.go ! cbc80741c070fef3b32ad66d02889df1 libgo/go/runtime/lfstack_32bit.go ! adbf4acb1db83eba03e67d165061ec26 libgo/go/runtime/lfstack_64bit.go 67fe49711e28c2362368b34e8bb09969 libgo/go/runtime/lfstack_test.go bf8fcac9bcb662b73656c02eb339ce38 libgo/go/runtime/lock_futex.go b14de3dd4c758bc52f3b25dc592ae899 libgo/go/runtime/lock_sema.go *************** e017e5c039dc373cbd9a275f520ceacc libgo/ *** 63003,63009 **** 63a6f0b9dd09bf428900ecfb656c1566 libgo/go/runtime/type.go 48082aef9f09423dc8dc73ea4e9fc3e1 libgo/go/runtime/typekind.go 2f182554d899d5dbd2c5313f4dfe3606 libgo/go/runtime/unaligned1.go ! ff198d861e8c6033ebd3d06ac27c2bc6 libgo/go/runtime/unaligned2.go b013e3daff4fd579a590b725d1297bec libgo/go/runtime/utf8.go 825eb73ede469df9e8afe418993814be libgo/go/runtime/vdso_none.go f44bd95750b08ffb83cfa731995cbeed libgo/go/runtime/write_err.go --- 63318,63324 ---- 63a6f0b9dd09bf428900ecfb656c1566 libgo/go/runtime/type.go 48082aef9f09423dc8dc73ea4e9fc3e1 libgo/go/runtime/typekind.go 2f182554d899d5dbd2c5313f4dfe3606 libgo/go/runtime/unaligned1.go ! ed24affac73be1ab8800f7d301374fe3 libgo/go/runtime/unaligned2.go b013e3daff4fd579a590b725d1297bec libgo/go/runtime/utf8.go 825eb73ede469df9e8afe418993814be libgo/go/runtime/vdso_none.go f44bd95750b08ffb83cfa731995cbeed libgo/go/runtime/write_err.go *************** bcba9c41e717ecc5f9fadedc63b51631 libgo/ *** 63092,63098 **** a30c9d0167d3b7fb0b893368c3f515b0 libgo/go/syscall/creds_test.go f3bc6044d11bfddc8ddee276c7c3c8a0 libgo/go/syscall/dir_plan9.go b3110cd62c3d07c12daaa13272d83f68 libgo/go/syscall/dirent.go ! 62107d3aa5bd657009713cc0695ed632 libgo/go/syscall/endian_big.go 698cf46025551ba470cd05c52157ff54 libgo/go/syscall/endian_little.go 9832868167a1d42c8a06590a112a2245 libgo/go/syscall/env_plan9.go ceab0859820d947a70ee38ed817cb66b libgo/go/syscall/env_unix.go --- 63407,63413 ---- a30c9d0167d3b7fb0b893368c3f515b0 libgo/go/syscall/creds_test.go f3bc6044d11bfddc8ddee276c7c3c8a0 libgo/go/syscall/dir_plan9.go b3110cd62c3d07c12daaa13272d83f68 libgo/go/syscall/dirent.go ! 875606e47127560e36183f2405f64fb8 libgo/go/syscall/endian_big.go 698cf46025551ba470cd05c52157ff54 libgo/go/syscall/endian_little.go 9832868167a1d42c8a06590a112a2245 libgo/go/syscall/env_plan9.go ceab0859820d947a70ee38ed817cb66b libgo/go/syscall/env_unix.go *************** cb7293200e04882d44952572a48c7154 libgo/ *** 63170,63181 **** d9361d43ef12dff92e57635f642be2a9 libgo/go/syscall/syscall_freebsd.go 73f50229a579beb5237147b11393e823 libgo/go/syscall/syscall_linux.go a0090b126833084a9f2908291f50e6a0 libgo/go/syscall/syscall_linux_386.go ! 7c5e270210553412c724bf6ab06e1854 libgo/go/syscall/syscall_linux_alpha.go 6369db28775124d9386571ec81d3df7d libgo/go/syscall/syscall_linux_amd64.go ! 45dc76738449c9d528b69c4cd8331ed8 libgo/go/syscall/syscall_linux_mips64x.go ! 3629991b22f657535be7859175515289 libgo/go/syscall/syscall_linux_mipsx.go ! a7dae55ec943433fbe77493b95969e4c libgo/go/syscall/syscall_linux_s390.go ! f34c9b630bff593e3a17c53851e92866 libgo/go/syscall/syscall_linux_s390x.go d181c824b64a7db178bb551e79694a04 libgo/go/syscall/syscall_linux_test.go d9361d43ef12dff92e57635f642be2a9 libgo/go/syscall/syscall_netbsd.go d9361d43ef12dff92e57635f642be2a9 libgo/go/syscall/syscall_openbsd.go --- 63485,63495 ---- d9361d43ef12dff92e57635f642be2a9 libgo/go/syscall/syscall_freebsd.go 73f50229a579beb5237147b11393e823 libgo/go/syscall/syscall_linux.go a0090b126833084a9f2908291f50e6a0 libgo/go/syscall/syscall_linux_386.go ! 76aaef7313d5941f3fbacda3ce01b730 libgo/go/syscall/syscall_linux_alpha.go 6369db28775124d9386571ec81d3df7d libgo/go/syscall/syscall_linux_amd64.go ! 0217eb56fafc787fc95d7d3a903296db libgo/go/syscall/syscall_linux_mipsx.go ! f218aa1ceea0921a007f55c84b389dee libgo/go/syscall/syscall_linux_s390.go ! 1a8dda4b899b9d5fec7e4c07c32d1eda libgo/go/syscall/syscall_linux_s390x.go d181c824b64a7db178bb551e79694a04 libgo/go/syscall/syscall_linux_test.go d9361d43ef12dff92e57635f642be2a9 libgo/go/syscall/syscall_netbsd.go d9361d43ef12dff92e57635f642be2a9 libgo/go/syscall/syscall_openbsd.go *************** d493ccc4ea8c9c25684b75eed5cbd10f libgo/ *** 63270,63280 **** 2540861afc397374b779d0ad42a6b9c2 libgo/go/unicode/utf8/utf8.go 93699a5b6bc2a03993a1697a2268254a libgo/go/unicode/utf8/utf8_test.go 81e5bcbba50be6c9836177ec9aac0561 libgo/godeps.sh ! eef8b6c8d2772755246fd7ed2e10a9b8 libgo/match.sh 85261e3c5824f1bba0ccba605fcdcc2e libgo/merge.sh ! cb498156b18fcd5c17aa8fa44a3ee5df libgo/mkrsysinfo.sh f2a98cc9e55dfdd055d75e7161cd6808 libgo/mksigtab.sh ! cf8218f1d8cc5222156091dfd2c9a9a6 libgo/mksysinfo.sh 9c66bb618ec9c46d7e7dcadd04faf52b libgo/mvifdiff.sh 5dbb1bf0989af4c697305ed1fea714b6 libgo/runtime/aeshash.c 06b0ddfbd036dbdfdf8c4c7efb8b746f libgo/runtime/arch.h --- 63584,63594 ---- 2540861afc397374b779d0ad42a6b9c2 libgo/go/unicode/utf8/utf8.go 93699a5b6bc2a03993a1697a2268254a libgo/go/unicode/utf8/utf8_test.go 81e5bcbba50be6c9836177ec9aac0561 libgo/godeps.sh ! f18a0c26761d944c3a6fca5006c5a184 libgo/match.sh 85261e3c5824f1bba0ccba605fcdcc2e libgo/merge.sh ! 60cbf2228462f7e6218f7e6af21cde60 libgo/mkrsysinfo.sh f2a98cc9e55dfdd055d75e7161cd6808 libgo/mksigtab.sh ! 3ffe0f4d647963802c44acba0fd3d9fe libgo/mksysinfo.sh 9c66bb618ec9c46d7e7dcadd04faf52b libgo/mvifdiff.sh 5dbb1bf0989af4c697305ed1fea714b6 libgo/runtime/aeshash.c 06b0ddfbd036dbdfdf8c4c7efb8b746f libgo/runtime/arch.h *************** fc1c7199fb443d3e4b49335b42e25886 libgo/ *** 63345,63358 **** f1f99cdfebdcbc8a3f9ddff8373508ef libgo/runtime/thread-sema.c a27782f03d1a06d6c45554841b18cdfd libgo/runtime/thread.c f1f0917f45d626d15a5f129fef3d81e2 libgo/runtime/yield.c ! c7e171d17269461d7277166faad22821 libgo/sysinfo.c 3a8ddeaf36a9f143f9124fe1aada456a libgo/testsuite/Makefile.am 6a8af847fffba7b0dcda7a8efae62d7a libgo/testsuite/Makefile.in 180c96a619276205ec9fc8e8217b67bd libgo/testsuite/config/default.exp ! 2ef2f645bb4f4a7511a99ff4f2ce29ad libgo/testsuite/gotest ead4e721beb57b319fcd7da8ddf10705 libgo/testsuite/lib/libgo.exp 6df485581d2f02246f41b5ca46f5bb5d libgo/testsuite/libgo.testmain/testmain.exp ! c1976d534d4ca39bc241d2ac3f7b6d19 libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite 55534454ed4bb50459c2c58ed02cad59 libgomp/Makefile.am ac2f853393abd4fc51886e45bfd8a4c5 libgomp/Makefile.in --- 63659,63672 ---- f1f99cdfebdcbc8a3f9ddff8373508ef libgo/runtime/thread-sema.c a27782f03d1a06d6c45554841b18cdfd libgo/runtime/thread.c f1f0917f45d626d15a5f129fef3d81e2 libgo/runtime/yield.c ! 7f512861fefb1d61307f65af941bbdb0 libgo/sysinfo.c 3a8ddeaf36a9f143f9124fe1aada456a libgo/testsuite/Makefile.am 6a8af847fffba7b0dcda7a8efae62d7a libgo/testsuite/Makefile.in 180c96a619276205ec9fc8e8217b67bd libgo/testsuite/config/default.exp ! 4b7af0d38c597a7b2a6f9cb460b1428c libgo/testsuite/gotest ead4e721beb57b319fcd7da8ddf10705 libgo/testsuite/lib/libgo.exp 6df485581d2f02246f41b5ca46f5bb5d libgo/testsuite/libgo.testmain/testmain.exp ! bf80a5a3e954b4657aa353b5a30ab975 libgomp/ChangeLog 0d55aa862aee66efdc5f8d62c94ff8fb libgomp/ChangeLog.graphite 55534454ed4bb50459c2c58ed02cad59 libgomp/Makefile.am ac2f853393abd4fc51886e45bfd8a4c5 libgomp/Makefile.in *************** fd519093dc23e7e1ba374de5c783a5d3 libgom *** 63463,63469 **** baa1c2b75501adfb0908cb243d1945bf libgomp/libgomp-plugin.c c1cee0b720173c688c10b339a6bb8ff2 libgomp/libgomp-plugin.h a6f176f84802a193085fe268e0371f27 libgomp/libgomp.h ! 99d296555df13c78ef567d9114b4594c libgomp/libgomp.info 9a1ab09c02391af1c95e6d63cb8eb499 libgomp/libgomp.map 8b2aa50aecad82171348a6918309afd6 libgomp/libgomp.spec.in c2311b843993357e9da9e17fa98bc7dd libgomp/libgomp.texi --- 63777,63783 ---- baa1c2b75501adfb0908cb243d1945bf libgomp/libgomp-plugin.c c1cee0b720173c688c10b339a6bb8ff2 libgomp/libgomp-plugin.h a6f176f84802a193085fe268e0371f27 libgomp/libgomp.h ! 66665fac335585c52b5f3ecb4a71ba92 libgomp/libgomp.info 9a1ab09c02391af1c95e6d63cb8eb499 libgomp/libgomp.map 8b2aa50aecad82171348a6918309afd6 libgomp/libgomp.spec.in c2311b843993357e9da9e17fa98bc7dd libgomp/libgomp.texi *************** f288ebef02de5e114b5c8526bad9dc19 libgom *** 63616,63621 **** --- 63930,63936 ---- d65773670d221b74aa6b327a1de57dff libgomp/testsuite/libgomp.c++/pr38650.C 32eed8fe7a118de6fa22a9b1ffec6c53 libgomp/testsuite/libgomp.c++/pr39573.C 467dc8995782492f741eb1d9548a272b libgomp/testsuite/libgomp.c++/pr43893.C + f8a4ee60b8dc15123330632ae37c9ef4 libgomp/testsuite/libgomp.c++/pr45784.C 6bc7a2a67f411f00aa39c8b72e8a287d libgomp/testsuite/libgomp.c++/pr48869.C d566c37edb50b4aac9c2b4fa4d381670 libgomp/testsuite/libgomp.c++/pr49043.C d2e531409ec3708a503019e5aec4cfd8 libgomp/testsuite/libgomp.c++/pr56217.C *************** d40927d27fc8aa0a3f0aca700ccbd13b libgom *** 63639,63644 **** --- 63954,63960 ---- e05799ca0fb925e4de120a002da662ed libgomp/testsuite/libgomp.c++/pr69555-2.C 854c3912b1646c8771d7f3032a72cd1f libgomp/testsuite/libgomp.c++/pr70376.C 80258160ea88fc6c77ba4774e507a905 libgomp/testsuite/libgomp.c++/pr81130.C + 6050a57d353f711a4c93e9fc816d1fd8 libgomp/testsuite/libgomp.c++/pr81314.C a594cebdf052900dd0c8792068e14d85 libgomp/testsuite/libgomp.c++/reduction-1.C 1473f55e3f6f9827b6dd281025b88b85 libgomp/testsuite/libgomp.c++/reduction-10.C bd119573b86fb5577edaf97dd86d2a6c libgomp/testsuite/libgomp.c++/reduction-11.C *************** ced1dba5d35a4768f3826db0c75f01b6 libgom *** 63954,63959 **** --- 64270,64276 ---- 006c9241a06131d8b1ad87c0a7a58349 libgomp/testsuite/libgomp.c/pr42029.c 965ea816877f4bf791f4bf1a1aeef3cf libgomp/testsuite/libgomp.c/pr42942.c 3b6d62c4c9f8e8ce4656f6342157558e libgomp/testsuite/libgomp.c/pr43893.c + 67c38424bb3c5c571b180f7bdadaa4f8 libgomp/testsuite/libgomp.c/pr45784.c 98e5e0392d559ee3428b62c6dfa93e0c libgomp/testsuite/libgomp.c/pr46032-2.c 014ad41df9153b87675e7db55d0b87e9 libgomp/testsuite/libgomp.c/pr46032.c 7063eafd5386ba2fb42b9714bc3c1b6e libgomp/testsuite/libgomp.c/pr46193.c *************** cdbcad7124c1e89a09c38bffd2f8af26 libgom *** 63992,63997 **** --- 64309,64317 ---- 74aa701ffb4677d1a83a69caec90ea29 libgomp/testsuite/libgomp.c/pr80809-2.c fbaa429fdd38498866cb27eca67eb819 libgomp/testsuite/libgomp.c/pr80809-3.c e768743d2af95f59780e3418077b7e1e libgomp/testsuite/libgomp.c/pr80853.c + 9116b9dc2c0c3c11fdab95ea2ca66a18 libgomp/testsuite/libgomp.c/pr81687-1.c + 5996dc15da52a000b77c153bb70588f6 libgomp/testsuite/libgomp.c/pr81687-2.c + 4066b4a4600721101ac384b659311782 libgomp/testsuite/libgomp.c/pr81875.c 2a0a447db3ae892c0c62b0136b00360e libgomp/testsuite/libgomp.c/priority.c ea7c9e74bda402b1663a903b26400fab libgomp/testsuite/libgomp.c/private-1.c a594cebdf052900dd0c8792068e14d85 libgomp/testsuite/libgomp.c/reduction-1.c *************** d40bb4d01cb9e310f1f5f2f8112947c3 libgom *** 64283,64288 **** --- 64603,64610 ---- f7782bc4547f59705a61ee03dc89372a libgomp/testsuite/libgomp.fortran/pr71014.f90 eaeadf99271f326c16618e5bfa7fa387 libgomp/testsuite/libgomp.fortran/pr71734-1.f90 2d364f3055004bfd34a5395bfd835c8c libgomp/testsuite/libgomp.fortran/pr71734-2.f90 + 7b247f3eafeb9482ddfb062c5c175cea libgomp/testsuite/libgomp.fortran/pr81304.f90 + 947c6cd3f45fe3e7fdf8f49002b1e6da libgomp/testsuite/libgomp.fortran/pr81841.f90 ed38be90cae92afacea925b0c0c3c356 libgomp/testsuite/libgomp.fortran/procptr1.f90 4af6e9394ddc7a6c89dca2968cac162e libgomp/testsuite/libgomp.fortran/recursion1.f90 f7a52f7caa9a62d15b0f1270dc461c08 libgomp/testsuite/libgomp.fortran/reduction1.f90 *************** d2feeae17acfcc522ce8d197f56a5e6c libgom *** 64735,64741 **** d3f9f8b453576b8a24f3f2db4ad0cbe2 libgomp/testsuite/libgomp.oacc-fortran/subarrays-2.f90 97895ee7fdb38ab486cfd464bb975de0 libgomp/testsuite/libgomp.oacc-fortran/update-1.f90 5e70f54ed74527f5e04379413bff932f libgomp/work.c ! 053c360bbad69054328c1959641d23c4 libhsail-rt/ChangeLog 9147b482b39962a71e580b4a8265285e libhsail-rt/Makefile.am a38674477ad0a784b375b84f710eb630 libhsail-rt/Makefile.in de97a355fadb5753d182cbcf06b1b33a libhsail-rt/README --- 65057,65063 ---- d3f9f8b453576b8a24f3f2db4ad0cbe2 libgomp/testsuite/libgomp.oacc-fortran/subarrays-2.f90 97895ee7fdb38ab486cfd464bb975de0 libgomp/testsuite/libgomp.oacc-fortran/update-1.f90 5e70f54ed74527f5e04379413bff932f libgomp/work.c ! 28282830d066165621f057092aee9644 libhsail-rt/ChangeLog 9147b482b39962a71e580b4a8265285e libhsail-rt/Makefile.am a38674477ad0a784b375b84f710eb630 libhsail-rt/Makefile.in de97a355fadb5753d182cbcf06b1b33a libhsail-rt/README *************** b8290f5231ea78d8acee7c12d03f21e2 libhsa *** 64762,64768 **** ef9f05873915c22cae79ef5545355353 libhsail-rt/target-config.h.in 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! 7c7a48ec47fd0f1ef63ca1bae9e9c940 libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit 989d73ea8d6c7734f2cd7fc2f6a08ee9 libiberty/Makefile.in c68dbf7834af4281ebd84caa3fd54680 libiberty/README --- 65084,65090 ---- ef9f05873915c22cae79ef5545355353 libhsail-rt/target-config.h.in 99c2e5e712b990ee07be10f53e41f3fb libiberty/.gitignore a916467b91076e631dd8edb7424769c7 libiberty/COPYING.LIB ! e295143e04ed9213dbcb992b9b4f0a04 libiberty/ChangeLog 347c31392973de6a4872d540c1718dc1 libiberty/ChangeLog.jit 989d73ea8d6c7734f2cd7fc2f6a08ee9 libiberty/Makefile.in c68dbf7834af4281ebd84caa3fd54680 libiberty/README *************** b2c289eb14e9197dcad172f3acba12b7 libibe *** 64926,64932 **** 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c 1fba1d2c7e578bb603294d1d38b15e6e libiberty/xstrndup.c 5b461b93e0d400569656cf150a9458e8 libiberty/xvasprintf.c ! 0c9793285b71ab1c0e440d6bc7e0eed4 libitm/ChangeLog f0841cbe677cca223ebc3864c6840fb3 libitm/Makefile.am e134b04c0dc26da6f5a6948763a388a8 libitm/Makefile.in 02cde8e370b6e6440c462cbdb510ad9c libitm/aatree.cc --- 65248,65254 ---- 6f774a92661ca4a067f1691a7925524b libiberty/xstrerror.c 1fba1d2c7e578bb603294d1d38b15e6e libiberty/xstrndup.c 5b461b93e0d400569656cf150a9458e8 libiberty/xvasprintf.c ! bb27b02e35ce010cf8077d7f3b354eac libitm/ChangeLog f0841cbe677cca223ebc3864c6840fb3 libitm/Makefile.am e134b04c0dc26da6f5a6948763a388a8 libitm/Makefile.in 02cde8e370b6e6440c462cbdb510ad9c libitm/aatree.cc *************** cdbde62e85c45821e7d0e7542ea9e4b5 libitm *** 64984,64990 **** 92c8aa2e676e6aad3b45ee3c79ce4f48 libitm/dispatch.h ce09bec8584efd1948a6896224aaff53 libitm/eh_cpp.cc ced7d40fe3094446e51c1b8cf40d0f0a libitm/libitm.h ! af1c1ff81daf37b25663973d89a34a36 libitm/libitm.info 0c43820b921ecdbe9d98f068100e716a libitm/libitm.map ea467d7117853d139bb288ab75261139 libitm/libitm.spec.in dc401c868192cd583b6851a8f33879d8 libitm/libitm.texi --- 65306,65312 ---- 92c8aa2e676e6aad3b45ee3c79ce4f48 libitm/dispatch.h ce09bec8584efd1948a6896224aaff53 libitm/eh_cpp.cc ced7d40fe3094446e51c1b8cf40d0f0a libitm/libitm.h ! 80e0c7a784e5896fcdf2a039c2740864 libitm/libitm.info 0c43820b921ecdbe9d98f068100e716a libitm/libitm.map ea467d7117853d139bb288ab75261139 libitm/libitm.spec.in dc401c868192cd583b6851a8f33879d8 libitm/libitm.texi *************** b4e503ecfdccc9f13da8f73eeb6f23a9 libitm *** 65029,65035 **** ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c 2fde3d4b9799cb5c947aa18d56b45a58 libitm/useraction.cc 800898e382995b27db1e8e5415e383d5 libitm/util.cc ! 9015fbfa26f75905915a98d05ab84745 libmpx/ChangeLog 08c39b0de69ded1b0ec0d079e8ffa278 libmpx/Makefile.am d0a1d026cd869756809cfc7e163653fb libmpx/Makefile.in 9883ed42b491d8aea83fdde90561cf2a libmpx/acinclude.m4 --- 65351,65357 ---- ef24198422c19f99b0c41be6a16f7081 libitm/testsuite/libitm.c/txrelease.c 2fde3d4b9799cb5c947aa18d56b45a58 libitm/useraction.cc 800898e382995b27db1e8e5415e383d5 libitm/util.cc ! 054f2c87585baf780a57b81a8250c1b8 libmpx/ChangeLog 08c39b0de69ded1b0ec0d079e8ffa278 libmpx/Makefile.am d0a1d026cd869756809cfc7e163653fb libmpx/Makefile.in 9883ed42b491d8aea83fdde90561cf2a libmpx/acinclude.m4 *************** abb9c0882fb921e70c77607151719c9d libmpx *** 65052,65058 **** e7c62aca341ea472234d7cb0bc4af328 libmpx/mpxwrap/libmpxwrappers.map 240daa7f37ceeb22e331595ac7363fe8 libmpx/mpxwrap/libtool-version 84b2ae6cc72d1bc6af32bbf75fdf747b libmpx/mpxwrap/mpx_wrappers.c ! 8d9e4b311016eee67985d1cb9081402c libobjc/ChangeLog b2cf3adfbdbae80e35d96ff569e9f93a libobjc/Makefile.in ca9308f2e96106ba49c888b75644c31a libobjc/NXConstStr.m 8b730dbe3083b0ce8de23dba63e4345d libobjc/Object.m --- 65374,65380 ---- e7c62aca341ea472234d7cb0bc4af328 libmpx/mpxwrap/libmpxwrappers.map 240daa7f37ceeb22e331595ac7363fe8 libmpx/mpxwrap/libtool-version 84b2ae6cc72d1bc6af32bbf75fdf747b libmpx/mpxwrap/mpx_wrappers.c ! d144767c8a6c6204d46099102a96b307 libobjc/ChangeLog b2cf3adfbdbae80e35d96ff569e9f93a libobjc/Makefile.in ca9308f2e96106ba49c888b75644c31a libobjc/NXConstStr.m 8b730dbe3083b0ce8de23dba63e4345d libobjc/Object.m *************** ed8e260d84d74bdae710d754280f305d libobj *** 65109,65115 **** b5a7e82ec7b4fc9af8de51779c12430b libobjc/selector.c 031774b1d0af62af9c73b941c33256c5 libobjc/sendmsg.c 471a0873da510e7cdaf8924b3babf10c libobjc/thr.c ! 67fb0803f7fd927b51114bcfd4cb9cff liboffloadmic/ChangeLog 04abd6719c66f08c91fbd9f04b69d3f5 liboffloadmic/Makefile.am 30b43aa8aba9a4769f58028e2f0424f7 liboffloadmic/Makefile.in 49cb389d7dff64b95e25b4d7e85c7ecf liboffloadmic/aclocal.m4 --- 65431,65437 ---- b5a7e82ec7b4fc9af8de51779c12430b libobjc/selector.c 031774b1d0af62af9c73b941c33256c5 libobjc/sendmsg.c 471a0873da510e7cdaf8924b3babf10c libobjc/thr.c ! 012f1c0f03976a791e45188b8ff7ad7e liboffloadmic/ChangeLog 04abd6719c66f08c91fbd9f04b69d3f5 liboffloadmic/Makefile.am 30b43aa8aba9a4769f58028e2f0424f7 liboffloadmic/Makefile.in 49cb389d7dff64b95e25b4d7e85c7ecf liboffloadmic/aclocal.m4 *************** b1def68202639bd452fb59aea3371fe4 liboff *** 65198,65204 **** cc603cdf253cc686bfcee192bb7630df liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c dff5c8575c49d6aa71e549b0fa021479 liboffloadmic/runtime/orsl-lite/version.txt a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! 0037ffbb4e15bd2d29be3c345a592ebc libquadmath/ChangeLog e1106736861aae37a68244254f00f3fd libquadmath/Makefile.am 089aca42b8f31c3920925f611462bc81 libquadmath/Makefile.in 4c8b4478a1031d129e7cc6b341876b99 libquadmath/acinclude.m4 --- 65520,65526 ---- cc603cdf253cc686bfcee192bb7630df liboffloadmic/runtime/orsl-lite/lib/orsl-lite.c dff5c8575c49d6aa71e549b0fa021479 liboffloadmic/runtime/orsl-lite/version.txt a916467b91076e631dd8edb7424769c7 libquadmath/COPYING.LIB ! eea465709c5af1750542961e7a9dccf4 libquadmath/ChangeLog e1106736861aae37a68244254f00f3fd libquadmath/Makefile.am 089aca42b8f31c3920925f611462bc81 libquadmath/Makefile.in 4c8b4478a1031d129e7cc6b341876b99 libquadmath/acinclude.m4 *************** b575232932aeb139e780664720bc8695 libqua *** 65206,65212 **** bf09ede5c6d78e3d132bde0f933590d8 libquadmath/config.h.in 7f6b0d2eeae18aa85f194f1cbc6a9c29 libquadmath/configure 84f1e84be7df00cfbeab19204eaf8dd5 libquadmath/configure.ac ! 5076830898839f15e5084f13b33bd362 libquadmath/libquadmath.info 2cb034bf3212dff9fd07056661589189 libquadmath/libquadmath.texi 77280bb7ee423875e03d9c0d34527df6 libquadmath/libtool-version f44065462735b4699d44588271a5f09a libquadmath/math/acoshq.c --- 65528,65534 ---- bf09ede5c6d78e3d132bde0f933590d8 libquadmath/config.h.in 7f6b0d2eeae18aa85f194f1cbc6a9c29 libquadmath/configure 84f1e84be7df00cfbeab19204eaf8dd5 libquadmath/configure.ac ! 258ec0a93add4fccca2b716d4b9c8aad libquadmath/libquadmath.info 2cb034bf3212dff9fd07056661589189 libquadmath/libquadmath.texi 77280bb7ee423875e03d9c0d34527df6 libquadmath/libtool-version f44065462735b4699d44588271a5f09a libquadmath/math/acoshq.c *************** e766022f8615b72cbc38335d262e9d3d libqua *** 65330,65336 **** a81cc82679e80c86cfbd5575867450d0 libquadmath/strtod/strtod_l.c da808e110fc09ebd41ebd405790a70df libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c ! f6363abd372d9a4400edb935fa01823e libsanitizer/ChangeLog c5b0b63dd90ad073654139697e69d009 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT f11d8e68ccf5dbd2281333342f0cea86 libsanitizer/LOCAL_PATCHES --- 65652,65658 ---- a81cc82679e80c86cfbd5575867450d0 libquadmath/strtod/strtod_l.c da808e110fc09ebd41ebd405790a70df libquadmath/strtod/strtoflt128.c d15a18f7c46ba2add6148edc5b7563c0 libquadmath/strtod/tens_in_limb.c ! ad5dcbee25d98c11d497501fc2f401e3 libsanitizer/ChangeLog c5b0b63dd90ad073654139697e69d009 libsanitizer/HOWTO_MERGE 0249c37748936faf5b1efd5789587909 libsanitizer/LICENSE.TXT f11d8e68ccf5dbd2281333342f0cea86 libsanitizer/LOCAL_PATCHES *************** aa7833ffd0b94a28455dc72a79081c02 libsan *** 65396,65402 **** f14b75055c11bb9db5ff23c1d981f7b9 libsanitizer/config.h.in 711da8a93e9eeb9c43b3390652f3cc00 libsanitizer/configure 0fc36261b30c3353cdcbe03be57d103b libsanitizer/configure.ac ! f4ac2f3c26d34f5257e72a31bb34aa88 libsanitizer/configure.tgt b4a5d598d9c1fddc5a43683c868160bc libsanitizer/include/sanitizer/allocator_interface.h 80787ea625b0aee3a6861ee47f77eb6d libsanitizer/include/sanitizer/asan_interface.h 8a9b5faa6b6320f27a2eb956be0afd44 libsanitizer/include/sanitizer/common_interface_defs.h --- 65718,65724 ---- f14b75055c11bb9db5ff23c1d981f7b9 libsanitizer/config.h.in 711da8a93e9eeb9c43b3390652f3cc00 libsanitizer/configure 0fc36261b30c3353cdcbe03be57d103b libsanitizer/configure.ac ! a167c94d13ce772d419d964c6b9d3181 libsanitizer/configure.tgt b4a5d598d9c1fddc5a43683c868160bc libsanitizer/include/sanitizer/allocator_interface.h 80787ea625b0aee3a6861ee47f77eb6d libsanitizer/include/sanitizer/asan_interface.h 8a9b5faa6b6320f27a2eb956be0afd44 libsanitizer/include/sanitizer/common_interface_defs.h *************** a02871a535bceea4a946e8c8dbe3199d libsan *** 65413,65418 **** --- 65735,65741 ---- e0f26bb761d75b6aac187f2c8d755c0b libsanitizer/include/system/linux/mroute6.h 52441feaf66ebf0ecf003bd66b0845a1 libsanitizer/include/system/linux/perf_event.h 3de6060b4f9ff628820f60672dee5958 libsanitizer/include/system/linux/types.h + 177782c011eb97e4adc68bd2c39b6f84 libsanitizer/include/system/sys/ptrace.h 9b6d9638bfb718af8b3bd19759244d8c libsanitizer/interception/Makefile.am 4702440849fadb440f2b9d0454f65aeb libsanitizer/interception/Makefile.in 3d67b9288498027784dbcc8d822fec65 libsanitizer/interception/interception.h *************** ea35b83ff2eb2bff286f2781693b0cc7 libsan *** 65430,65437 **** 35b2978dd28dbb4048032ad8db998f5c libsanitizer/libbacktrace/bridge.cc 4b83707f75499a1070d0ad8757700b50 libsanitizer/libsanitizer.spec.in 5b95ad6add3888b3ac1fd4fc7b3704ca libsanitizer/libtool-version ! 08775b3adb408fedd5feeaec29c81b3d libsanitizer/lsan/Makefile.am ! 3b96f97a6e8be455affe5e96ab2ae6ef libsanitizer/lsan/Makefile.in 5b95ad6add3888b3ac1fd4fc7b3704ca libsanitizer/lsan/libtool-version 776be84a21f498369afd7fd42ca4e28e libsanitizer/lsan/lsan.cc 9e1c76dba515e683781897292ae1a8ef libsanitizer/lsan/lsan.h --- 65753,65760 ---- 35b2978dd28dbb4048032ad8db998f5c libsanitizer/libbacktrace/bridge.cc 4b83707f75499a1070d0ad8757700b50 libsanitizer/libsanitizer.spec.in 5b95ad6add3888b3ac1fd4fc7b3704ca libsanitizer/libtool-version ! a21a444759ee3de56679db04a268abff libsanitizer/lsan/Makefile.am ! bfc6c13137c8c9e34aaa63c38e2dffc4 libsanitizer/lsan/Makefile.in 5b95ad6add3888b3ac1fd4fc7b3704ca libsanitizer/lsan/libtool-version 776be84a21f498369afd7fd42ca4e28e libsanitizer/lsan/lsan.cc 9e1c76dba515e683781897292ae1a8ef libsanitizer/lsan/lsan.h *************** f07ab1da60e7fd7f3d27a1960d25e06c libsan *** 65648,65654 **** 0f33fad437a0fa30b1527f8f957011d6 libsanitizer/ubsan/ubsan_type_hash_win.cc 8b063f15d2aa59cd7d3a2c835729e42d libsanitizer/ubsan/ubsan_value.cc 735246869fac0a1e63b5d9c72143e63a libsanitizer/ubsan/ubsan_value.h ! dfb313d3ec2ba7921a65ccad6a6b7171 libssp/ChangeLog 776e0645b365526b37a8934f921f91b6 libssp/Makefile.am 4ca3c95d4bc6b9edac706fca73c37993 libssp/Makefile.in b0548e1d34696c0fb30573ffde20c761 libssp/aclocal.m4 --- 65971,65977 ---- 0f33fad437a0fa30b1527f8f957011d6 libsanitizer/ubsan/ubsan_type_hash_win.cc 8b063f15d2aa59cd7d3a2c835729e42d libsanitizer/ubsan/ubsan_value.cc 735246869fac0a1e63b5d9c72143e63a libsanitizer/ubsan/ubsan_value.h ! 7d67e88e5f824df87159ed9eb0d3e4bc libssp/ChangeLog 776e0645b365526b37a8934f921f91b6 libssp/Makefile.am 4ca3c95d4bc6b9edac706fca73c37993 libssp/Makefile.in b0548e1d34696c0fb30573ffde20c761 libssp/aclocal.m4 *************** b1831173424b3bacbedae40d56213c53 libssp *** 65677,65683 **** 4849bcc282291903a5ab2633972a6f59 libssp/strncpy-chk.c 8f39faa199e6457e41dd4673ab8fa2b5 libssp/vsnprintf-chk.c b432716a66578ff7c5e7f9c92bc30e25 libssp/vsprintf-chk.c ! ba67c504a456fb642d74de36e0c82dbc libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 --- 66000,66006 ---- 4849bcc282291903a5ab2633972a6f59 libssp/strncpy-chk.c 8f39faa199e6457e41dd4673ab8fa2b5 libssp/vsnprintf-chk.c b432716a66578ff7c5e7f9c92bc30e25 libssp/vsprintf-chk.c ! 4d77dfbc533bde0f73941b7390dbbfb0 libstdc++-v3/ChangeLog 7aa6c40440a44fcf5ec94c066160c2f8 libstdc++-v3/ChangeLog-1998 7aff86600b6a1ed3fa87305075a92db0 libstdc++-v3/ChangeLog-1999 a6f28e8fc9bb07696a9e068b439a3a87 libstdc++-v3/ChangeLog-2000 *************** cdd50089e0460c8802edf9f1e3881ca6 libstd *** 65735,65741 **** 7c9d9f30d0c74c87283c25e3959c4859 libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt 5c4c38aeca254313c616b84337c937c3 libstdc++-v3/config/abi/pre/float128.ver d5ca39dd5aeebba4599442e4a6052175 libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver ! f37099298428979c5d83b716ced911d0 libstdc++-v3/config/abi/pre/gnu.ver b01f8da8f4373070847fe317fe8a546e libstdc++-v3/config/abi/pre/none.ver 474df1d032c9df579426e6bafa6fce65 libstdc++-v3/config/allocator/bitmap_allocator_base.h f1667a9ecb6ec699875716d4ee1bc87e libstdc++-v3/config/allocator/malloc_allocator_base.h --- 66058,66064 ---- 7c9d9f30d0c74c87283c25e3959c4859 libstdc++-v3/config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt 5c4c38aeca254313c616b84337c937c3 libstdc++-v3/config/abi/pre/float128.ver d5ca39dd5aeebba4599442e4a6052175 libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver ! 090bad34be4da422930507838d7fc6bc libstdc++-v3/config/abi/pre/gnu.ver b01f8da8f4373070847fe317fe8a546e libstdc++-v3/config/abi/pre/none.ver 474df1d032c9df579426e6bafa6fce65 libstdc++-v3/config/allocator/bitmap_allocator_base.h f1667a9ecb6ec699875716d4ee1bc87e libstdc++-v3/config/allocator/malloc_allocator_base.h *************** c4d379ffd70fbb2c4895566590687f13 libstd *** 65764,65770 **** 1c0df642e68cc0d5c84f5b5295a9e0ea libstdc++-v3/config/cpu/sh/atomicity.h 9d40707585d5e3352dcdfa824a596c43 libstdc++-v3/config/cpu/sparc/atomic_word.h 35be2ff693c372d94646265cccc98b1c libstdc++-v3/config/cpu/sparc/atomicity.h ! 30754a707151ba642bed17ff11f27c39 libstdc++-v3/config/io/basic_file_stdio.cc deb8374b2db1778ae762465fa3bea588 libstdc++-v3/config/io/basic_file_stdio.h 6ca2ee5d73a9be7ea8084c3e9b0054a2 libstdc++-v3/config/io/c_io_stdio.h 08d965d519ec34de201de66cab98304b libstdc++-v3/config/locale/darwin/ctype_members.cc --- 66087,66093 ---- 1c0df642e68cc0d5c84f5b5295a9e0ea libstdc++-v3/config/cpu/sh/atomicity.h 9d40707585d5e3352dcdfa824a596c43 libstdc++-v3/config/cpu/sparc/atomic_word.h 35be2ff693c372d94646265cccc98b1c libstdc++-v3/config/cpu/sparc/atomicity.h ! a287eae246710eba198462b7a6348148 libstdc++-v3/config/io/basic_file_stdio.cc deb8374b2db1778ae762465fa3bea588 libstdc++-v3/config/io/basic_file_stdio.h 6ca2ee5d73a9be7ea8084c3e9b0054a2 libstdc++-v3/config/io/c_io_stdio.h 08d965d519ec34de201de66cab98304b libstdc++-v3/config/locale/darwin/ctype_members.cc *************** d7f207dcb3d6f80e6d9e4e16caf6b18d libstd *** 65898,65912 **** 74b2c2379a63ef007e3b81ca6e5ef284 libstdc++-v3/doc/Makefile.in 3f7ff07f68cc7610addc1921bc125548 libstdc++-v3/doc/doxygen/Intro.3 e221bfb1fc340e034b28617e561f131d libstdc++-v3/doc/doxygen/doxygroups.cc ! 6b4dbb148dedb8af46a53ccf42399cae libstdc++-v3/doc/doxygen/mainpage.html 3486d64b0aaa601908006a0e78395ca3 libstdc++-v3/doc/doxygen/stdheader.cc 1273764cd133c402d2d3f22cf2913af5 libstdc++-v3/doc/doxygen/tables.html ee599e042e0ab46c3d78dd8675b8ba7f libstdc++-v3/doc/doxygen/user.cfg.in 66e139590a163a3e9d632f33fbe1d1b3 libstdc++-v3/doc/html/README ! 12cfb60becc3f2e9defd8d75a1a21e7d libstdc++-v3/doc/html/api.html ! e24504647642dbafa49db140acc95c21 libstdc++-v3/doc/html/bk02.html ! 58ad49058a87b197aaddb99f389eacfa libstdc++-v3/doc/html/bk03.html ! aa524c76cc891a40f196e82231e5a281 libstdc++-v3/doc/html/faq.html 1ae70f0bf94464b036515d333fff8ab2 libstdc++-v3/doc/html/images/confdeps.png d7f63b43e9f4c39cf71de7585de522ee libstdc++-v3/doc/html/images/pbds_balls_and_bins.png 22eedc841676a98f8ae8b95131ac4d7e libstdc++-v3/doc/html/images/pbds_binary_priority_queue_int_push.png --- 66221,66235 ---- 74b2c2379a63ef007e3b81ca6e5ef284 libstdc++-v3/doc/Makefile.in 3f7ff07f68cc7610addc1921bc125548 libstdc++-v3/doc/doxygen/Intro.3 e221bfb1fc340e034b28617e561f131d libstdc++-v3/doc/doxygen/doxygroups.cc ! 520db39aef0e2a59418132af88b897ed libstdc++-v3/doc/doxygen/mainpage.html 3486d64b0aaa601908006a0e78395ca3 libstdc++-v3/doc/doxygen/stdheader.cc 1273764cd133c402d2d3f22cf2913af5 libstdc++-v3/doc/doxygen/tables.html ee599e042e0ab46c3d78dd8675b8ba7f libstdc++-v3/doc/doxygen/user.cfg.in 66e139590a163a3e9d632f33fbe1d1b3 libstdc++-v3/doc/html/README ! 4466806f318e6153c722faee62d28915 libstdc++-v3/doc/html/api.html ! fd168dc2b2d0c12b1e17b40ffec96390 libstdc++-v3/doc/html/bk02.html ! 47886ba7da131bf3cbf81a27cada5f6f libstdc++-v3/doc/html/bk03.html ! 4cbf99aaaeae90dfebdce302f055ee0d libstdc++-v3/doc/html/faq.html 1ae70f0bf94464b036515d333fff8ab2 libstdc++-v3/doc/html/images/confdeps.png d7f63b43e9f4c39cf71de7585de522ee libstdc++-v3/doc/html/images/pbds_balls_and_bins.png 22eedc841676a98f8ae8b95131ac4d7e libstdc++-v3/doc/html/images/pbds_binary_priority_queue_int_push.png *************** d7249eb4d31bd107d0b09ea3c80cb723 libstd *** 65986,66096 **** 1d86b338a316806c80b250eb132ac6dd libstdc++-v3/doc/html/images/pbds_tree_text_lor_find.png 33bc39e8f2d47f3d490d7ca7d4832b43 libstdc++-v3/doc/html/images/pbds_trie_node_updator_policy_cd.png df705f3839120dcb896e9839cf3404d0 libstdc++-v3/doc/html/images/pbds_update_seq_diagram.png ! deaf15214d754198690e20ee57268722 libstdc++-v3/doc/html/index.html ! 588d8d08fe4a8c43b280867539ca1993 libstdc++-v3/doc/html/manual/abi.html ! c50671050ff8de94cc275131201e5bd7 libstdc++-v3/doc/html/manual/algorithms.html ! 15818058c9d4057decee4a010f50ee09 libstdc++-v3/doc/html/manual/api.html ! e246a4128efd7028f3ebccc2eff97d1e libstdc++-v3/doc/html/manual/appendix.html ! 206999d7f3a9e2bcc6b9162c3cae1a93 libstdc++-v3/doc/html/manual/appendix_contributing.html ! e9c0f1ff9a8891b7968f3f687b4813ec libstdc++-v3/doc/html/manual/appendix_free.html ! 1ba38c64d73796a214334f2dab820328 libstdc++-v3/doc/html/manual/appendix_gfdl.html ! b86617057a7d02b358290306b815792d libstdc++-v3/doc/html/manual/appendix_gpl.html ! 19ab2511f8c1815d0bbe8a83c99253b3 libstdc++-v3/doc/html/manual/appendix_porting.html ! 87aa4de6273de19892c7eb5eaca6e095 libstdc++-v3/doc/html/manual/associative.html ! 2b7f9e805e058ada0fa0d34ba53b7222 libstdc++-v3/doc/html/manual/atomics.html ! f20a2b30c29a3108b6c924926bb54e8b libstdc++-v3/doc/html/manual/backwards.html ! 4bc46b36e9636b2f61911bec8741819b libstdc++-v3/doc/html/manual/bitmap_allocator.html ! b102b16060eb66b508228d886bb789eb libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html ! 3483095fefc289ad57f1108c8ad1fabc libstdc++-v3/doc/html/manual/bugs.html ! ff5cb87200fbc4571c1b621cb0450053 libstdc++-v3/doc/html/manual/concept_checking.html ! ff8a760ba1cd40de947c0cb4ef121860 libstdc++-v3/doc/html/manual/concurrency.html ! ac6f8416ccf4463863f8233f046594b6 libstdc++-v3/doc/html/manual/configure.html ! 15a99c3c565006c754c29a968b965079 libstdc++-v3/doc/html/manual/containers.html ! a039be9cc637470d3f8d3ed9648ca5d2 libstdc++-v3/doc/html/manual/containers_and_c.html ! 0e203264aeef64b52c83608efc6b0be3 libstdc++-v3/doc/html/manual/debug.html ! 819dbf166a9b7d51462c83b311309a08 libstdc++-v3/doc/html/manual/debug_mode.html ! 59eac764f7bf1d33a90597c668addbcb libstdc++-v3/doc/html/manual/debug_mode_design.html ! 6a97f7f04b5b1a36575aa5e0f80f1ee5 libstdc++-v3/doc/html/manual/debug_mode_semantics.html ! c47d5c7c4e435589bafa4b4d8c4cd13c libstdc++-v3/doc/html/manual/debug_mode_using.html ! 5970942162cec038498e944bc8edc922 libstdc++-v3/doc/html/manual/diagnostics.html ! 60530a1342e88e6500e3ff351464f4c8 libstdc++-v3/doc/html/manual/documentation_hacking.html ! 9c186cf250d342ffb6ac4d058c7f4315 libstdc++-v3/doc/html/manual/dynamic_memory.html ! 6eb480d9fe7bb8964b8eb781f894726c libstdc++-v3/doc/html/manual/errno.html ! 6754ad07708c36820e08e04e1aeb02bb libstdc++-v3/doc/html/manual/ext_algorithms.html ! 2bd024c6b97cc94cd4fd931b972dccac libstdc++-v3/doc/html/manual/ext_compile_checks.html ! d3228526ee93719e75cc636f26c0f7ff libstdc++-v3/doc/html/manual/ext_concurrency.html ! 99b0a38fd9e316e076d95029052e11a0 libstdc++-v3/doc/html/manual/ext_concurrency_impl.html ! 2b9b33938584e17f401bf21c285af30a libstdc++-v3/doc/html/manual/ext_concurrency_use.html ! 8fc51fc67d0794cfe349294f28d8e187 libstdc++-v3/doc/html/manual/ext_containers.html ! b83e2280a694b73feedb098666fdcd42 libstdc++-v3/doc/html/manual/ext_demangling.html ! 7969471d93a397921bf15645722db9d4 libstdc++-v3/doc/html/manual/ext_io.html ! 24abb74f520b2cc64329af7b0eabedd6 libstdc++-v3/doc/html/manual/ext_iterators.html ! 549d43cb9c55ed8abf3eb93c27ed9716 libstdc++-v3/doc/html/manual/ext_numerics.html ! e6d64741747864b4e377547f0adbaf1a libstdc++-v3/doc/html/manual/ext_preface.html ! 2e9ae95a3ae1a6c6ec52c0b778656ffc libstdc++-v3/doc/html/manual/ext_sgi.html ! 3232979348ed4e031d790cc79ff62b54 libstdc++-v3/doc/html/manual/ext_utilities.html ! 08bb7a167767239b5cb02bdab1496470 libstdc++-v3/doc/html/manual/extensions.html ! 911d3881190a85d6ec5f2cd3f7048bb5 libstdc++-v3/doc/html/manual/facets.html ! 37c12e79fc102c3c25a476d99d9bcbf1 libstdc++-v3/doc/html/manual/fstreams.html ! 5ed2116075aa233ced29bb764841298c libstdc++-v3/doc/html/manual/generalized_numeric_operations.html ! 15e0227365d283a17274f697109ab018 libstdc++-v3/doc/html/manual/index.html ! ffc954ad4d368b5737f9c7b72149768d libstdc++-v3/doc/html/manual/internals.html ! c5304ac3a8f082ee73823d84041aa2f5 libstdc++-v3/doc/html/manual/intro.html ! c7b8f6204926edd186a9729c3ba1b06a libstdc++-v3/doc/html/manual/io.html ! c41dc87f8be3a367ba747353fbab2353 libstdc++-v3/doc/html/manual/io_and_c.html ! 17686da06d6f5707c8b0734e7265c72a libstdc++-v3/doc/html/manual/iterators.html ! f2cbe7a16c1459eb9d661c4f59148c85 libstdc++-v3/doc/html/manual/license.html ! 756b894a64f9e63ec962a6742ba34bc8 libstdc++-v3/doc/html/manual/localization.html ! 518c609918662df90ec372996b1cee25 libstdc++-v3/doc/html/manual/make.html ! c130b3a8b99e98587d3d95fbf10e4bc3 libstdc++-v3/doc/html/manual/memory.html ! 2f0038d7682f075686ddeb6eb5700181 libstdc++-v3/doc/html/manual/mt_allocator.html ! 90aab30425d9f81569fd7f122545388f libstdc++-v3/doc/html/manual/mt_allocator_design.html ! 769263e7fac4c4320ed9890622a2691d libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html ! b477b181b88903e87cafffc02f82c26f libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html ! 8e5ff1c36db70228ad85f9412c2d7e0d libstdc++-v3/doc/html/manual/mt_allocator_impl.html ! 961b1986cc712df4011f8f956904e08f libstdc++-v3/doc/html/manual/numerics.html ! 1e7bda9b7468a80644d426c5ec6d9956 libstdc++-v3/doc/html/manual/numerics_and_c.html ! 73a67e9f3ea3de4053702d5d42bc5dd5 libstdc++-v3/doc/html/manual/pairs.html ! f7c8c93154b8acd3659755fba9cf2ea6 libstdc++-v3/doc/html/manual/parallel_mode.html ! 85a125ec0706e197a5e833d1a6c3eff6 libstdc++-v3/doc/html/manual/parallel_mode_design.html ! 9fa3374f8d90cea52be068b1a43becf3 libstdc++-v3/doc/html/manual/parallel_mode_semantics.html ! eb0de4015a06cfc5b0946dea8967d9c3 libstdc++-v3/doc/html/manual/parallel_mode_test.html ! abaa2d58c449558d305c7a17b20d4e21 libstdc++-v3/doc/html/manual/parallel_mode_using.html ! 96b170824ef4e1f34ef2e7f223e1c45d libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html ! 7aa99669d95c48b823307da11f71f6a0 libstdc++-v3/doc/html/manual/policy_data_structures.html ! dd0d0a3dbde1fe5688daf082a20edb0c libstdc++-v3/doc/html/manual/policy_data_structures_ack.html ! 0e920038f09a9af0328b6f4d474366b8 libstdc++-v3/doc/html/manual/policy_data_structures_design.html ! 05d705077c0793d5370220351c96874d libstdc++-v3/doc/html/manual/policy_data_structures_using.html ! 3c962d4f6d2ad1523c6fd5cc144901b4 libstdc++-v3/doc/html/manual/profile_mode.html ! 55b08f450898f4f72f786affcbc8ad90 libstdc++-v3/doc/html/manual/profile_mode_api.html ! a4da9233e97dfbc6975e64682370e552 libstdc++-v3/doc/html/manual/profile_mode_cost_model.html ! 2a583e34efa63b75df379d88f23ea809 libstdc++-v3/doc/html/manual/profile_mode_design.html ! b3f0b779c265ab6f430475e4f88f580e libstdc++-v3/doc/html/manual/profile_mode_devel.html ! 7331d7385104a6dc5184418bdb60c7f9 libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html ! 959142a01bcfe51b5975541a3f0b6dc6 libstdc++-v3/doc/html/manual/profile_mode_impl.html ! 07a221c9bf5f7e46ea33f7c4a43cc754 libstdc++-v3/doc/html/manual/setup.html ! 6b6cefa7f9267ae701ee527c0cbe7f1e libstdc++-v3/doc/html/manual/source_code_style.html ! 0576cfcb1c478a91ea55484a0ff9a3ec libstdc++-v3/doc/html/manual/source_design_notes.html ! b6bcd673d9c861062900ffdb78ef22ab libstdc++-v3/doc/html/manual/source_organization.html ! 9bd1cb72b4963156b2da3c4ad09c72d3 libstdc++-v3/doc/html/manual/status.html ! 6b028769a32926f8762762e79444becb libstdc++-v3/doc/html/manual/std_contents.html ! f0e3024ae1008194f1ad841b4480c9df libstdc++-v3/doc/html/manual/streambufs.html ! 0aad91af2fbe9bc6363598d5a79f7d36 libstdc++-v3/doc/html/manual/strings.html ! aae3d417ab9227eca84f286d98536f8e libstdc++-v3/doc/html/manual/stringstreams.html ! 002ae4f0325c2175151fcc3c235c2ab6 libstdc++-v3/doc/html/manual/support.html ! 2a6d5d232b15dab69b05672e1193953c libstdc++-v3/doc/html/manual/termination.html ! b889ac427c1e3e8b84bafab551b6b2cd libstdc++-v3/doc/html/manual/test.html ! 1921311e51f16604162cc2e27b35d38b libstdc++-v3/doc/html/manual/traits.html ! cd78ebf4959f2540dbd758d7d4d86e46 libstdc++-v3/doc/html/manual/unordered_associative.html ! cbae75f523c5696909e842a871384c25 libstdc++-v3/doc/html/manual/using.html ! c12aa64ee93908493c634a9f57590b01 libstdc++-v3/doc/html/manual/using_concurrency.html ! 59d4817c6fbdfe5edf1ea4233cfc1663 libstdc++-v3/doc/html/manual/using_dual_abi.html ! 6d0ec053f63417e2c27ac037304a5e62 libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html ! 88cab9e6abb5641d0954c3a20a09a288 libstdc++-v3/doc/html/manual/using_exceptions.html ! 4c6bb05cc079802bc2624a8522213be0 libstdc++-v3/doc/html/manual/using_headers.html ! ecb80dd1dd5ad0c3304052c6711e6045 libstdc++-v3/doc/html/manual/using_macros.html ! 5a9981980034ebcb698957f7baeac265 libstdc++-v3/doc/html/manual/using_namespaces.html ! 8c824a54ff9dd7a513a19ca3a058202a libstdc++-v3/doc/html/manual/utilities.html 449dbbf51240d77a37d2437eff256924 libstdc++-v3/doc/xml/api.xml 0b177c199fb448ad3630d15bdc3cbb19 libstdc++-v3/doc/xml/authors.xml f5a41d4f7585b850b3182fc5f4888f93 libstdc++-v3/doc/xml/book.txml --- 66309,66419 ---- 1d86b338a316806c80b250eb132ac6dd libstdc++-v3/doc/html/images/pbds_tree_text_lor_find.png 33bc39e8f2d47f3d490d7ca7d4832b43 libstdc++-v3/doc/html/images/pbds_trie_node_updator_policy_cd.png df705f3839120dcb896e9839cf3404d0 libstdc++-v3/doc/html/images/pbds_update_seq_diagram.png ! d6187f631e2e553aa953f8fdff93aa27 libstdc++-v3/doc/html/index.html ! 125ef9566dd62a95272fbf119e73d931 libstdc++-v3/doc/html/manual/abi.html ! 4ce10e27356ac31a5b7962aecbeb3638 libstdc++-v3/doc/html/manual/algorithms.html ! a81de231a9e1612c533ab8db88bbe056 libstdc++-v3/doc/html/manual/api.html ! a98a4b5a07a3be04f6466b4b73c2f4e2 libstdc++-v3/doc/html/manual/appendix.html ! 2e203459294270410e5c5c7c6dca5cd5 libstdc++-v3/doc/html/manual/appendix_contributing.html ! dd7983a9236abbb42ad2503972011adf libstdc++-v3/doc/html/manual/appendix_free.html ! 31b030eb32be4f6fa6ea75f183787741 libstdc++-v3/doc/html/manual/appendix_gfdl.html ! 6f716660c6221f5daa1a8841e82d3f97 libstdc++-v3/doc/html/manual/appendix_gpl.html ! 4475689867df3d91356fdb7dacb270df libstdc++-v3/doc/html/manual/appendix_porting.html ! 88601e29445579d77cd6a3a88c8df909 libstdc++-v3/doc/html/manual/associative.html ! b8ac9fc2f2cfcaed0450c79e2fb01569 libstdc++-v3/doc/html/manual/atomics.html ! 913bcad14d9b5e672ad3670bfc7d1de9 libstdc++-v3/doc/html/manual/backwards.html ! eed66bf6108dd329e892b6e813b80906 libstdc++-v3/doc/html/manual/bitmap_allocator.html ! 9492db633acbfab53feaff0b37361e68 libstdc++-v3/doc/html/manual/bitmap_allocator_impl.html ! d864c5147d5914ecb484b2ec4c73aac7 libstdc++-v3/doc/html/manual/bugs.html ! cc3700f2fde50987f186f23abf98a7b1 libstdc++-v3/doc/html/manual/concept_checking.html ! f3a54a6315d716742603d33f454f2c19 libstdc++-v3/doc/html/manual/concurrency.html ! ef792a711c76c67c86fc2fa8174c2980 libstdc++-v3/doc/html/manual/configure.html ! f31ed9667084a575ba221adc39e249a8 libstdc++-v3/doc/html/manual/containers.html ! c7e40c1085e414b3b4d5896db4013205 libstdc++-v3/doc/html/manual/containers_and_c.html ! 012dc3d3a4e5423c2fba69d5a3949d93 libstdc++-v3/doc/html/manual/debug.html ! 1bd34529d162b6f3a08d5f2ea4943c6a libstdc++-v3/doc/html/manual/debug_mode.html ! 8593a73f3114d29cfaaee91529bb747d libstdc++-v3/doc/html/manual/debug_mode_design.html ! fc2f4ac9d9c05ca8c4dce6b46e259f97 libstdc++-v3/doc/html/manual/debug_mode_semantics.html ! 9b49d08d3786c91a4cb52fb6b60b76c3 libstdc++-v3/doc/html/manual/debug_mode_using.html ! 7bcc35e818f9360d10ecfe70e4dedcc0 libstdc++-v3/doc/html/manual/diagnostics.html ! a9912c2e6de072fc1b2f1794a1b8cd00 libstdc++-v3/doc/html/manual/documentation_hacking.html ! c472d3d333cea10a613a5177af5b053a libstdc++-v3/doc/html/manual/dynamic_memory.html ! 55666dfa05ec7aae2596d6968f6fdb38 libstdc++-v3/doc/html/manual/errno.html ! f5df2458b52ebaa400811787cbf348fa libstdc++-v3/doc/html/manual/ext_algorithms.html ! 3cbcc93e277e8589a94b618c95dcb54c libstdc++-v3/doc/html/manual/ext_compile_checks.html ! 6b28f824b6be66a359066495ecde0b13 libstdc++-v3/doc/html/manual/ext_concurrency.html ! 1b280c2c0edd18f49b1fc0ee3a08c089 libstdc++-v3/doc/html/manual/ext_concurrency_impl.html ! 03317436de8d39db34d33a3b1f74bb9e libstdc++-v3/doc/html/manual/ext_concurrency_use.html ! 57d5b540963537c2beeebd22b30cb561 libstdc++-v3/doc/html/manual/ext_containers.html ! e5fed5d4ea91479a30a01ad2fa63b502 libstdc++-v3/doc/html/manual/ext_demangling.html ! 7e3f9c24599534279607db4f7b94f09e libstdc++-v3/doc/html/manual/ext_io.html ! 6198e9045e99d5770c195193837a81af libstdc++-v3/doc/html/manual/ext_iterators.html ! 9f7d82fc9c86c2a2e7d3b6550e075bc6 libstdc++-v3/doc/html/manual/ext_numerics.html ! 6d380acac52eb8c888a54068e44b16ac libstdc++-v3/doc/html/manual/ext_preface.html ! d99f2764a2a1d796f13869fe93fc0441 libstdc++-v3/doc/html/manual/ext_sgi.html ! cf360e652a99b60dfce0e335b47297ed libstdc++-v3/doc/html/manual/ext_utilities.html ! 556fc3a802b3c60016cd65663faf29f8 libstdc++-v3/doc/html/manual/extensions.html ! 33d3eb7f9e6575fa00d986ec17944e53 libstdc++-v3/doc/html/manual/facets.html ! 9b06f8b16b4ba69e1269f98bb22377f2 libstdc++-v3/doc/html/manual/fstreams.html ! b404abb1e78a27e8a8980eb14ec27bab libstdc++-v3/doc/html/manual/generalized_numeric_operations.html ! 8e59f4788044868bed89507f46412124 libstdc++-v3/doc/html/manual/index.html ! 8687facb6d19ccc2a663efbc50e745a1 libstdc++-v3/doc/html/manual/internals.html ! c7ffc4ff6594f9e3dfeec284f8f782bd libstdc++-v3/doc/html/manual/intro.html ! 46de5aefef02b8c599fc816bea53ae67 libstdc++-v3/doc/html/manual/io.html ! 371c9928b1459cd70fcfc48407cf26cd libstdc++-v3/doc/html/manual/io_and_c.html ! 32f6d6929349f8f96de44fbdd842ed48 libstdc++-v3/doc/html/manual/iterators.html ! 8ec7c1b7fc36b72f1bb9ddc0e939bb26 libstdc++-v3/doc/html/manual/license.html ! 69cfb7ea1d69c38e3d673ba9f4a7c3ba libstdc++-v3/doc/html/manual/localization.html ! 9d7282a3a92209b987a91b15973414af libstdc++-v3/doc/html/manual/make.html ! 5130ed24a3f0230b3b8300ed3de960cc libstdc++-v3/doc/html/manual/memory.html ! 4970f8a0270bd70ee4f48d19c4782afc libstdc++-v3/doc/html/manual/mt_allocator.html ! 0ade9da6c1a80afa0f9e498caea2faf9 libstdc++-v3/doc/html/manual/mt_allocator_design.html ! 6cedc0933aa9ffe31dbea517db997b9e libstdc++-v3/doc/html/manual/mt_allocator_ex_multi.html ! 649fbf3df6f77e3a36ee9b933f79546f libstdc++-v3/doc/html/manual/mt_allocator_ex_single.html ! ee5c8437e1e5c265071e78c7cc8c0700 libstdc++-v3/doc/html/manual/mt_allocator_impl.html ! 9dabea61a71c003598f8a991e614e76c libstdc++-v3/doc/html/manual/numerics.html ! 88a009e3d0a8c9e08103a63fdce3f776 libstdc++-v3/doc/html/manual/numerics_and_c.html ! d569c55932dee4a3a4e8598da8998e28 libstdc++-v3/doc/html/manual/pairs.html ! 249f6d49bc6b1a61e5d41ed2a794b361 libstdc++-v3/doc/html/manual/parallel_mode.html ! 1c63fee9a72bdaec08a7d834c7bd3580 libstdc++-v3/doc/html/manual/parallel_mode_design.html ! ecf6c505a75fa3dff283b1fefdda671b libstdc++-v3/doc/html/manual/parallel_mode_semantics.html ! 0239345019fd0eb245549c7a8187119c libstdc++-v3/doc/html/manual/parallel_mode_test.html ! 935f34a82f6ef3b0dc60b8d3a06563ae libstdc++-v3/doc/html/manual/parallel_mode_using.html ! 9e3377de10b99e257ed6f85c85a470a1 libstdc++-v3/doc/html/manual/policy_based_data_structures_test.html ! 3a8858b942ad499ff0e99cc6d50fff34 libstdc++-v3/doc/html/manual/policy_data_structures.html ! bcc51113555eeb7382531f50cd4ee61f libstdc++-v3/doc/html/manual/policy_data_structures_ack.html ! 1975874ffc2ea8d353592e83c9ed1d02 libstdc++-v3/doc/html/manual/policy_data_structures_design.html ! 2a0b9e5e71f8dbf892d6b1f8e629741e libstdc++-v3/doc/html/manual/policy_data_structures_using.html ! e6fd45a9c84cb16b9dbe6a858d6c682a libstdc++-v3/doc/html/manual/profile_mode.html ! c000d7803b4aea724a6ea6b5846e17e7 libstdc++-v3/doc/html/manual/profile_mode_api.html ! 648cdc8ef5e8696f44900ec46483bf1e libstdc++-v3/doc/html/manual/profile_mode_cost_model.html ! 600a8344a29a407f9fc77d2b8d589e25 libstdc++-v3/doc/html/manual/profile_mode_design.html ! dc012f6bbeb24332ca023dc15d6da9cf libstdc++-v3/doc/html/manual/profile_mode_devel.html ! 6d1fa1f6431f98403801768d01a07f56 libstdc++-v3/doc/html/manual/profile_mode_diagnostics.html ! 0e9a02c563561ad32d5b24fd930bf8f5 libstdc++-v3/doc/html/manual/profile_mode_impl.html ! 30dc2d04c79d520f048c2759bf437b5b libstdc++-v3/doc/html/manual/setup.html ! 94a606d009c84c4160e2b0557563c305 libstdc++-v3/doc/html/manual/source_code_style.html ! f875f3f4cddfe4fee6aff2308ccb4563 libstdc++-v3/doc/html/manual/source_design_notes.html ! f87298c8974ee33f2519348430b786ae libstdc++-v3/doc/html/manual/source_organization.html ! 0db95b331ee26b77b7333a5264b3938f libstdc++-v3/doc/html/manual/status.html ! 9e6cce6bed38f62648e12eb77363d1fc libstdc++-v3/doc/html/manual/std_contents.html ! dbb5f81a9e8864374fbb835eaa4e8b0d libstdc++-v3/doc/html/manual/streambufs.html ! 2eddc447009e3c845b6489be7dc2a11a libstdc++-v3/doc/html/manual/strings.html ! 4fceea62121ba1fe214414a7506d385e libstdc++-v3/doc/html/manual/stringstreams.html ! d8ac0a9de0b3b518111ccdd44d818898 libstdc++-v3/doc/html/manual/support.html ! 1438f664082c52484fc99afed190b575 libstdc++-v3/doc/html/manual/termination.html ! 085e19f995d09c7a137b4ee193789029 libstdc++-v3/doc/html/manual/test.html ! c39b927efcec5ac84139c1490c8ef320 libstdc++-v3/doc/html/manual/traits.html ! 530b96535baacfe35df2e65f9dfe7efc libstdc++-v3/doc/html/manual/unordered_associative.html ! b2c30bf7f27ef8bbd85ff82fab01729f libstdc++-v3/doc/html/manual/using.html ! 98f1c252433b417ec9c0489169389895 libstdc++-v3/doc/html/manual/using_concurrency.html ! 09099a6836752a44e855a76e0d3d6aa7 libstdc++-v3/doc/html/manual/using_dual_abi.html ! 4868e3591133577974ca85a537dbd8a0 libstdc++-v3/doc/html/manual/using_dynamic_or_shared.html ! 3f1b2fcb0f6064ea3b698623f2b6a79a libstdc++-v3/doc/html/manual/using_exceptions.html ! 0c20cb9855947efe5ea416eae339b236 libstdc++-v3/doc/html/manual/using_headers.html ! 3dfd3b98f510220a03bdc785f2c0a30a libstdc++-v3/doc/html/manual/using_macros.html ! ccc3b1a320ccc49a977c80546610195b libstdc++-v3/doc/html/manual/using_namespaces.html ! 0b2b2db689ecf2a5ad885a7e076a4e94 libstdc++-v3/doc/html/manual/utilities.html 449dbbf51240d77a37d2437eff256924 libstdc++-v3/doc/xml/api.xml 0b177c199fb448ad3630d15bdc3cbb19 libstdc++-v3/doc/xml/authors.xml f5a41d4f7585b850b3182fc5f4888f93 libstdc++-v3/doc/xml/book.txml *************** e7a9590bfa29f2842a602c7d9281e8df libstd *** 66298,66306 **** f0323e43ff8fc1ca28dcdfae61b6cb19 libstdc++-v3/doc/xml/manual/diagnostics.xml 099bda8905d39fc07d87152927c32492 libstdc++-v3/doc/xml/manual/documentation_hacking.xml beaf7f0a49ee4f9a868913839fb3e8b4 libstdc++-v3/doc/xml/manual/evolution.xml ! a182c59139e44d5258054047a0f0ffb6 libstdc++-v3/doc/xml/manual/extensions.xml 26083dec441281888a23365de5567180 libstdc++-v3/doc/xml/manual/internals.xml ! 3a8a526c945f29ccbb27be44da1870f6 libstdc++-v3/doc/xml/manual/intro.xml 82d01f11ebf848dc64a611a829ef5a38 libstdc++-v3/doc/xml/manual/io.xml bab548248426e0e90cdc1436ff5b87de libstdc++-v3/doc/xml/manual/iterators.xml 5d3e282d89ac0af0f7752f88466a9d39 libstdc++-v3/doc/xml/manual/locale.xml --- 66621,66629 ---- f0323e43ff8fc1ca28dcdfae61b6cb19 libstdc++-v3/doc/xml/manual/diagnostics.xml 099bda8905d39fc07d87152927c32492 libstdc++-v3/doc/xml/manual/documentation_hacking.xml beaf7f0a49ee4f9a868913839fb3e8b4 libstdc++-v3/doc/xml/manual/evolution.xml ! d700263acf88b675c68d1cbe9dadea6b libstdc++-v3/doc/xml/manual/extensions.xml 26083dec441281888a23365de5567180 libstdc++-v3/doc/xml/manual/internals.xml ! 7620ce738b8dff5f03731f89f5dc03f0 libstdc++-v3/doc/xml/manual/intro.xml 82d01f11ebf848dc64a611a829ef5a38 libstdc++-v3/doc/xml/manual/io.xml bab548248426e0e90cdc1436ff5b87de libstdc++-v3/doc/xml/manual/iterators.xml 5d3e282d89ac0af0f7752f88466a9d39 libstdc++-v3/doc/xml/manual/locale.xml *************** e2b6426957c60c385c84e7b5143089ce libstd *** 66315,66326 **** 5cca2fce9e94a0243e546e0c59792f87 libstdc++-v3/doc/xml/manual/profile_mode.xml d86ab4ddaebc9752d3a71f23cc8879cb libstdc++-v3/doc/xml/manual/shared_ptr.xml 8b2ba528aeefb3571a63fba077b46ee1 libstdc++-v3/doc/xml/manual/spine.xml ! 30545c0584d92b8a7fc6a9ebcc76389b libstdc++-v3/doc/xml/manual/status_cxx1998.xml ! c3fb06e3828ddc8e0973f3b213b15344 libstdc++-v3/doc/xml/manual/status_cxx2011.xml ! ab2024fae49f12d36b19759a519a671e libstdc++-v3/doc/xml/manual/status_cxx2014.xml ! 58011a78b15a26010a1ea31900da6046 libstdc++-v3/doc/xml/manual/status_cxx2017.xml ! 0328d8bf2d7935051ce9dc880ef63b6d libstdc++-v3/doc/xml/manual/status_cxxtr1.xml ! 716409ea4f3fdc47d1b88cc8ac63b392 libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml 4bde3160d9ccaca3edfee800f93973f1 libstdc++-v3/doc/xml/manual/strings.xml c564c4399f854273d5814b3c57d3d591 libstdc++-v3/doc/xml/manual/support.xml a8cf09674b5c2dc9ddb332d1a8461eba libstdc++-v3/doc/xml/manual/test.xml --- 66638,66650 ---- 5cca2fce9e94a0243e546e0c59792f87 libstdc++-v3/doc/xml/manual/profile_mode.xml d86ab4ddaebc9752d3a71f23cc8879cb libstdc++-v3/doc/xml/manual/shared_ptr.xml 8b2ba528aeefb3571a63fba077b46ee1 libstdc++-v3/doc/xml/manual/spine.xml ! 2282bf36adee03f3823a6fdaa7fdd128 libstdc++-v3/doc/xml/manual/status_cxx1998.xml ! a9d987cf0583e51ad9eb6ac589ca5e8e libstdc++-v3/doc/xml/manual/status_cxx2011.xml ! 72b9bc0f2799920c3d2caf7a550686f5 libstdc++-v3/doc/xml/manual/status_cxx2014.xml ! 7e9469d9ecdca33ba1c50fd701a52a19 libstdc++-v3/doc/xml/manual/status_cxx2017.xml ! 3c72998c4574690fac280c058a0db757 libstdc++-v3/doc/xml/manual/status_cxxis29124.xml ! 6edaab9973b0acf56c2b1cd715448e0f libstdc++-v3/doc/xml/manual/status_cxxtr1.xml ! 0acb29d13accb1b483e4f108b5a96714 libstdc++-v3/doc/xml/manual/status_cxxtr24733.xml 4bde3160d9ccaca3edfee800f93973f1 libstdc++-v3/doc/xml/manual/strings.xml c564c4399f854273d5814b3c57d3d591 libstdc++-v3/doc/xml/manual/support.xml a8cf09674b5c2dc9ddb332d1a8461eba libstdc++-v3/doc/xml/manual/test.xml *************** d42dacf57cbf8644fc8b7217c7e8893a libstd *** 66331,66338 **** a209e7576dd578adf52c10796b53c14d libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in fa0fbb589f8e3959f474ba45b0758902 libstdc++-v3/fragment.am ! 0e1d3cba14aa6aad0257905a518964df libstdc++-v3/include/Makefile.am ! 7569f7827529213c1e8b448cd8099304 libstdc++-v3/include/Makefile.in fe6c4f9e05006cf7f39ed3b88343c143 libstdc++-v3/include/backward/auto_ptr.h fe61c64d9cd7f5c6403522bb61a6cd7e libstdc++-v3/include/backward/backward_warning.h b6eebaca0721deccbcade8b6a7b3ab28 libstdc++-v3/include/backward/binders.h --- 66655,66662 ---- a209e7576dd578adf52c10796b53c14d libstdc++-v3/doc/xml/spine.xml bd966b4a0df6f2a84f9770525581d45c libstdc++-v3/doc/xsl/customization.xsl.in fa0fbb589f8e3959f474ba45b0758902 libstdc++-v3/fragment.am ! 03a2793945d946165c4958d6b6d27417 libstdc++-v3/include/Makefile.am ! 1a041ac3e4e88543cd569529e8d44792 libstdc++-v3/include/Makefile.in fe6c4f9e05006cf7f39ed3b88343c143 libstdc++-v3/include/backward/auto_ptr.h fe61c64d9cd7f5c6403522bb61a6cd7e libstdc++-v3/include/backward/backward_warning.h b6eebaca0721deccbcade8b6a7b3ab28 libstdc++-v3/include/backward/binders.h *************** bfbd703878549b45dbb2a6727b9b51f9 libstd *** 66347,66362 **** 1ef653c761a0546ba8d4f2e4efa6dc04 libstdc++-v3/include/bits/allocator.h c0ad9c1c2e4c5c9d8d0fc56d18d002e5 libstdc++-v3/include/bits/atomic_base.h 6556bef5120f2b8175df86997fa17d28 libstdc++-v3/include/bits/atomic_futex.h ! df80d0c48466a320672e47ad90e2b6e4 libstdc++-v3/include/bits/basic_ios.h 355c760b2ddb77866d3be111d2216406 libstdc++-v3/include/bits/basic_ios.tcc ! c4e22b3461db0d3dd8a4a460dc02d4cb libstdc++-v3/include/bits/basic_string.h f483e43bab9dd5c16fafeab7ec6a45f9 libstdc++-v3/include/bits/basic_string.tcc 2f06e59656664c29ba7c61ca91cf1c80 libstdc++-v3/include/bits/boost_concept_check.h 658da65d0ca3addc0639468aa85028e3 libstdc++-v3/include/bits/c++0x_warning.h eb778382c5272131670bfb6e6e18bf21 libstdc++-v3/include/bits/c++14_warning.h - 2db8d30130690fb408e4921da1e5991c libstdc++-v3/include/bits/c++17_warning.h 9ff1b28f7787ea7d17b4beae9cb3e8e1 libstdc++-v3/include/bits/c++config ! 1273eebfe41fb9918a7036da521fa192 libstdc++-v3/include/bits/char_traits.h 4c0d0e0c253cebe08e42643de57ee529 libstdc++-v3/include/bits/codecvt.h fa1dc211040365ce32fb8072dc02a0a6 libstdc++-v3/include/bits/concept_check.h fa188d4b243b1dfce32f81944d80d51d libstdc++-v3/include/bits/cpp_type_traits.h --- 66671,66685 ---- 1ef653c761a0546ba8d4f2e4efa6dc04 libstdc++-v3/include/bits/allocator.h c0ad9c1c2e4c5c9d8d0fc56d18d002e5 libstdc++-v3/include/bits/atomic_base.h 6556bef5120f2b8175df86997fa17d28 libstdc++-v3/include/bits/atomic_futex.h ! 4002da87b9f86297830504829e93ee8e libstdc++-v3/include/bits/basic_ios.h 355c760b2ddb77866d3be111d2216406 libstdc++-v3/include/bits/basic_ios.tcc ! fe71ae6ae877214daa1c25a92beac19a libstdc++-v3/include/bits/basic_string.h f483e43bab9dd5c16fafeab7ec6a45f9 libstdc++-v3/include/bits/basic_string.tcc 2f06e59656664c29ba7c61ca91cf1c80 libstdc++-v3/include/bits/boost_concept_check.h 658da65d0ca3addc0639468aa85028e3 libstdc++-v3/include/bits/c++0x_warning.h eb778382c5272131670bfb6e6e18bf21 libstdc++-v3/include/bits/c++14_warning.h 9ff1b28f7787ea7d17b4beae9cb3e8e1 libstdc++-v3/include/bits/c++config ! c41408e5b91201d323514903be72be17 libstdc++-v3/include/bits/char_traits.h 4c0d0e0c253cebe08e42643de57ee529 libstdc++-v3/include/bits/codecvt.h fa1dc211040365ce32fb8072dc02a0a6 libstdc++-v3/include/bits/concept_check.h fa188d4b243b1dfce32f81944d80d51d libstdc++-v3/include/bits/cpp_type_traits.h *************** f4addcde213357ae315222fa5aa91686 libstd *** 66364,66384 **** dafd3fc465c26d7ac6cd93a13cb74d4b libstdc++-v3/include/bits/enable_special_members.h ac1baa37f90c763685b00ef16a77a1fc libstdc++-v3/include/bits/forward_list.h e823a1af92759a9316af067d3a63cc0d libstdc++-v3/include/bits/forward_list.tcc ! 986df9a348831aafabefece74b44a815 libstdc++-v3/include/bits/fstream.tcc f7737ba0b208be376f9d35eb9a375ba5 libstdc++-v3/include/bits/functexcept.h d43a4b92ed291afa6650c89ad083189d libstdc++-v3/include/bits/functional_hash.h 5315b31b83c8bf2a07680fb65e536406 libstdc++-v3/include/bits/gslice.h 7b1224ecb8e69dbfaf36e8c69e8736a5 libstdc++-v3/include/bits/gslice_array.h ! 86c7dc9edd68c038e0c1f6905954741d libstdc++-v3/include/bits/hashtable.h 13ab915e77c1c9fd44144693f653db2a libstdc++-v3/include/bits/hashtable_policy.h 0c03777d38834243a3556593e55575ea libstdc++-v3/include/bits/indirect_array.h 2a82b5fa1f42e1cb7eb96d7bf1ec3178 libstdc++-v3/include/bits/invoke.h 0cda1aff5ef582a7be1633b4173ae6f9 libstdc++-v3/include/bits/ios_base.h ! 3eeff9fa8c753c163c234902bcd7d440 libstdc++-v3/include/bits/istream.tcc e643ec81b75c069f1c27f4e8ea4be001 libstdc++-v3/include/bits/list.tcc 9b203355c419c4f93fca8f580e8bc495 libstdc++-v3/include/bits/locale_classes.h 29ac0825553a4f375a6e69277dca6b38 libstdc++-v3/include/bits/locale_classes.tcc ! b002536b9003d3201edfdfb5b6802fa5 libstdc++-v3/include/bits/locale_conv.h e50e4c9bfc433a488a2afe547fb0cc5c libstdc++-v3/include/bits/locale_facets.h 6755fd1a7cf15d0313093fbe482ebc24 libstdc++-v3/include/bits/locale_facets.tcc f1c018067acae41baf8eee4bc22cd464 libstdc++-v3/include/bits/locale_facets_nonio.h --- 66687,66707 ---- dafd3fc465c26d7ac6cd93a13cb74d4b libstdc++-v3/include/bits/enable_special_members.h ac1baa37f90c763685b00ef16a77a1fc libstdc++-v3/include/bits/forward_list.h e823a1af92759a9316af067d3a63cc0d libstdc++-v3/include/bits/forward_list.tcc ! b47d9c26945986d4fbda1e63c96e7145 libstdc++-v3/include/bits/fstream.tcc f7737ba0b208be376f9d35eb9a375ba5 libstdc++-v3/include/bits/functexcept.h d43a4b92ed291afa6650c89ad083189d libstdc++-v3/include/bits/functional_hash.h 5315b31b83c8bf2a07680fb65e536406 libstdc++-v3/include/bits/gslice.h 7b1224ecb8e69dbfaf36e8c69e8736a5 libstdc++-v3/include/bits/gslice_array.h ! daadaa0e7853bf8a97a3d80fca40fa85 libstdc++-v3/include/bits/hashtable.h 13ab915e77c1c9fd44144693f653db2a libstdc++-v3/include/bits/hashtable_policy.h 0c03777d38834243a3556593e55575ea libstdc++-v3/include/bits/indirect_array.h 2a82b5fa1f42e1cb7eb96d7bf1ec3178 libstdc++-v3/include/bits/invoke.h 0cda1aff5ef582a7be1633b4173ae6f9 libstdc++-v3/include/bits/ios_base.h ! 1811364d89d41b34996fe106fec9c340 libstdc++-v3/include/bits/istream.tcc e643ec81b75c069f1c27f4e8ea4be001 libstdc++-v3/include/bits/list.tcc 9b203355c419c4f93fca8f580e8bc495 libstdc++-v3/include/bits/locale_classes.h 29ac0825553a4f375a6e69277dca6b38 libstdc++-v3/include/bits/locale_classes.tcc ! e14f7b877d8649243e118f6345009179 libstdc++-v3/include/bits/locale_conv.h e50e4c9bfc433a488a2afe547fb0cc5c libstdc++-v3/include/bits/locale_facets.h 6755fd1a7cf15d0313093fbe482ebc24 libstdc++-v3/include/bits/locale_facets.tcc f1c018067acae41baf8eee4bc22cd464 libstdc++-v3/include/bits/locale_facets_nonio.h *************** b5362775bf2d2bc3740af7842c1a52b0 libstd *** 66387,66393 **** 35ee5b1481681635e84e3d8a49999452 libstdc++-v3/include/bits/mask_array.h 6384dd4fee2ac565d2d38178aab160fb libstdc++-v3/include/bits/memoryfwd.h 57592b40351b785329169cc8b8e59760 libstdc++-v3/include/bits/move.h ! 0eddceeca2c91d3b9472e080cd1bc860 libstdc++-v3/include/bits/node_handle.h acbf67f70070c595cc00146e36a0470b libstdc++-v3/include/bits/ostream.tcc 2bda0a1f5ee65ffb4682712c4b5df486 libstdc++-v3/include/bits/ostream_insert.h b7d9f46a6c1d3a64458605eb310f5d09 libstdc++-v3/include/bits/parse_numbers.h --- 66710,66716 ---- 35ee5b1481681635e84e3d8a49999452 libstdc++-v3/include/bits/mask_array.h 6384dd4fee2ac565d2d38178aab160fb libstdc++-v3/include/bits/memoryfwd.h 57592b40351b785329169cc8b8e59760 libstdc++-v3/include/bits/move.h ! 2348a5dc81c3f50651423035e01f6726 libstdc++-v3/include/bits/node_handle.h acbf67f70070c595cc00146e36a0470b libstdc++-v3/include/bits/ostream.tcc 2bda0a1f5ee65ffb4682712c4b5df486 libstdc++-v3/include/bits/ostream_insert.h b7d9f46a6c1d3a64458605eb310f5d09 libstdc++-v3/include/bits/parse_numbers.h *************** b7d9f46a6c1d3a64458605eb310f5d09 libstd *** 66397,66405 **** 60e94258f562f81fd5c6853c88584ca3 libstdc++-v3/include/bits/quoted_string.h 2a9d52c65bba86df46860265064ff31d libstdc++-v3/include/bits/random.h d4e960a7e9fe0f0626fa3af88849aeb7 libstdc++-v3/include/bits/random.tcc ! 39b8db8369313b5753c66745779f972e libstdc++-v3/include/bits/range_access.h ! 7a43689a5fda6cfb5f88fdd0dbca0e85 libstdc++-v3/include/bits/refwrap.h ! c7a49b9f203fb21486dd2edb46935fca libstdc++-v3/include/bits/regex.h 235fc423dd7a3c1197fe4814c9863513 libstdc++-v3/include/bits/regex.tcc 15fecde24c6c0ef19b9337489b5c2132 libstdc++-v3/include/bits/regex_automaton.h 14d80b826dcc1327456a6d92023be82b libstdc++-v3/include/bits/regex_automaton.tcc --- 66720,66728 ---- 60e94258f562f81fd5c6853c88584ca3 libstdc++-v3/include/bits/quoted_string.h 2a9d52c65bba86df46860265064ff31d libstdc++-v3/include/bits/random.h d4e960a7e9fe0f0626fa3af88849aeb7 libstdc++-v3/include/bits/random.tcc ! f9d10b7496885a8dc97c4235f55aa1fb libstdc++-v3/include/bits/range_access.h ! 5cce56c9f8def1ffeef357b636554760 libstdc++-v3/include/bits/refwrap.h ! 23cee91e6b62eb8b315503127f1de054 libstdc++-v3/include/bits/regex.h 235fc423dd7a3c1197fe4814c9863513 libstdc++-v3/include/bits/regex.tcc 15fecde24c6c0ef19b9337489b5c2132 libstdc++-v3/include/bits/regex_automaton.h 14d80b826dcc1327456a6d92023be82b libstdc++-v3/include/bits/regex_automaton.tcc *************** b679e348381f9f9d84d804acdead9bf2 libstd *** 66416,66422 **** 16603267884c17ed1b5c354f5c61b928 libstdc++-v3/include/bits/shared_ptr_base.h b794fda0e74584cf1f39d2efbccfdfb3 libstdc++-v3/include/bits/slice_array.h 735e2e72072394b255e2fa71323698fd libstdc++-v3/include/bits/specfun.h ! b0432cff6dde34bff6bd2aca90224b24 libstdc++-v3/include/bits/sstream.tcc ea83e995fd19f5d2df15f8e4ad6ef425 libstdc++-v3/include/bits/std_abs.h 04745c70e14ad0f0eeec346cd45549db libstdc++-v3/include/bits/std_function.h 528362b2853ccf1a19ee9814ae6da905 libstdc++-v3/include/bits/std_mutex.h --- 66739,66745 ---- 16603267884c17ed1b5c354f5c61b928 libstdc++-v3/include/bits/shared_ptr_base.h b794fda0e74584cf1f39d2efbccfdfb3 libstdc++-v3/include/bits/slice_array.h 735e2e72072394b255e2fa71323698fd libstdc++-v3/include/bits/specfun.h ! 1a8e02c9151659b8742c3da17651458e libstdc++-v3/include/bits/sstream.tcc ea83e995fd19f5d2df15f8e4ad6ef425 libstdc++-v3/include/bits/std_abs.h 04745c70e14ad0f0eeec346cd45549db libstdc++-v3/include/bits/std_function.h 528362b2853ccf1a19ee9814ae6da905 libstdc++-v3/include/bits/std_mutex.h *************** e9adec6d3afd21a4eeba89e9cce45405 libstd *** 66429,66438 **** 26d4812cfe0cfea680661ebf40f577f5 libstdc++-v3/include/bits/stl_heap.h b357e0743ab7cbd68a42017791b6a550 libstdc++-v3/include/bits/stl_iterator.h f5f163e4386d5cb103975b3d40ae923e libstdc++-v3/include/bits/stl_iterator_base_funcs.h ! 5ce850c4a2150ca8b7a7c7259f329c29 libstdc++-v3/include/bits/stl_iterator_base_types.h 1beb38923d216c8cabdc7425f268b055 libstdc++-v3/include/bits/stl_list.h ! df988c22804a8b6b2055aab602856b89 libstdc++-v3/include/bits/stl_map.h ! 3176ee8f1418eb63c314a523623afd18 libstdc++-v3/include/bits/stl_multimap.h fc8e510c975c16838ca738577c3d8ada libstdc++-v3/include/bits/stl_multiset.h faf617c8c8e3df42fab49503e5548987 libstdc++-v3/include/bits/stl_numeric.h 05eae9cce53df642db541dfaffb21c17 libstdc++-v3/include/bits/stl_pair.h --- 66752,66761 ---- 26d4812cfe0cfea680661ebf40f577f5 libstdc++-v3/include/bits/stl_heap.h b357e0743ab7cbd68a42017791b6a550 libstdc++-v3/include/bits/stl_iterator.h f5f163e4386d5cb103975b3d40ae923e libstdc++-v3/include/bits/stl_iterator_base_funcs.h ! 95e0b4ab859fe465240c91f2cd18d9a9 libstdc++-v3/include/bits/stl_iterator_base_types.h 1beb38923d216c8cabdc7425f268b055 libstdc++-v3/include/bits/stl_list.h ! 8bb427a8a1c65af8a6b447802b25dd69 libstdc++-v3/include/bits/stl_map.h ! 3f805d6d72cd87a5748e1c5a0d273c0d libstdc++-v3/include/bits/stl_multimap.h fc8e510c975c16838ca738577c3d8ada libstdc++-v3/include/bits/stl_multiset.h faf617c8c8e3df42fab49503e5548987 libstdc++-v3/include/bits/stl_numeric.h 05eae9cce53df642db541dfaffb21c17 libstdc++-v3/include/bits/stl_pair.h *************** faf617c8c8e3df42fab49503e5548987 libstd *** 66440,66446 **** 2ae67a27ca811d924c92610e4abad033 libstdc++-v3/include/bits/stl_raw_storage_iter.h a2281962b74d61def007f879af3c8f69 libstdc++-v3/include/bits/stl_relops.h 7341bc313f90ddc2f2f033c2598f052b libstdc++-v3/include/bits/stl_set.h ! ba62ebbcbcb799f60e6d5f865d273325 libstdc++-v3/include/bits/stl_stack.h 06de465b8a7d35370f41ae1af74fc23e libstdc++-v3/include/bits/stl_tempbuf.h 42ec8a81a6cb63b1c0901a86eb7aa05e libstdc++-v3/include/bits/stl_tree.h 94fea59d2dd4a97df7c9e729cee69336 libstdc++-v3/include/bits/stl_uninitialized.h --- 66763,66769 ---- 2ae67a27ca811d924c92610e4abad033 libstdc++-v3/include/bits/stl_raw_storage_iter.h a2281962b74d61def007f879af3c8f69 libstdc++-v3/include/bits/stl_relops.h 7341bc313f90ddc2f2f033c2598f052b libstdc++-v3/include/bits/stl_set.h ! 2152f683e9aeecb07aa00a6caf0b1efc libstdc++-v3/include/bits/stl_stack.h 06de465b8a7d35370f41ae1af74fc23e libstdc++-v3/include/bits/stl_tempbuf.h 42ec8a81a6cb63b1c0901a86eb7aa05e libstdc++-v3/include/bits/stl_tree.h 94fea59d2dd4a97df7c9e729cee69336 libstdc++-v3/include/bits/stl_uninitialized.h *************** ec6c6b1bfc3b843d1bce994cac54b962 libstd *** 66448,66458 **** 5c8d4f347b1ad81182650cafa36c86a3 libstdc++-v3/include/bits/stream_iterator.h 713b1e5bdcb6ef6d464c3ea068dd957a libstdc++-v3/include/bits/streambuf.tcc 9540b21070a173268535881c5517754f libstdc++-v3/include/bits/streambuf_iterator.h ! 7db801f4021240ca0faaf76df5932aec libstdc++-v3/include/bits/string_view.tcc 5c0c6b845b6e38ab5e22e418aeaee1b0 libstdc++-v3/include/bits/stringfwd.h a9fa84f93a12d008d690fb6c49d037ba libstdc++-v3/include/bits/uniform_int_dist.h f84d19afb4f0df41a643d8131e90e604 libstdc++-v3/include/bits/unique_ptr.h ! eaca3ff56d8fce032662b02a42acf7d1 libstdc++-v3/include/bits/unordered_map.h 251035abb110ee7968c8eb6fcef6c57a libstdc++-v3/include/bits/unordered_set.h 06758d4fd4602a6706aecc3087b34290 libstdc++-v3/include/bits/uses_allocator.h fc762c06dba512874f00456666187078 libstdc++-v3/include/bits/valarray_after.h --- 66771,66781 ---- 5c8d4f347b1ad81182650cafa36c86a3 libstdc++-v3/include/bits/stream_iterator.h 713b1e5bdcb6ef6d464c3ea068dd957a libstdc++-v3/include/bits/streambuf.tcc 9540b21070a173268535881c5517754f libstdc++-v3/include/bits/streambuf_iterator.h ! cb8a83c5ea9472d09da0e5010086c772 libstdc++-v3/include/bits/string_view.tcc 5c0c6b845b6e38ab5e22e418aeaee1b0 libstdc++-v3/include/bits/stringfwd.h a9fa84f93a12d008d690fb6c49d037ba libstdc++-v3/include/bits/uniform_int_dist.h f84d19afb4f0df41a643d8131e90e604 libstdc++-v3/include/bits/unique_ptr.h ! 59364bf238d153ce660c42ffc6c9b24e libstdc++-v3/include/bits/unordered_map.h 251035abb110ee7968c8eb6fcef6c57a libstdc++-v3/include/bits/unordered_set.h 06758d4fd4602a6706aecc3087b34290 libstdc++-v3/include/bits/uses_allocator.h fc762c06dba512874f00456666187078 libstdc++-v3/include/bits/valarray_after.h *************** f270c894f29619fc64b7bfcee1cdde87 libstd *** 66520,66526 **** f609f9956342754a688b405e9129c7ab libstdc++-v3/include/c_global/cstdalign 6ed2b2d912b7224c29f22f773a7d512f libstdc++-v3/include/c_global/cstdarg 97be7ca9ac03bbc43af611b152a95f05 libstdc++-v3/include/c_global/cstdbool ! 6bb2e5e35945980fe18ed6ce869c228d libstdc++-v3/include/c_global/cstddef 2a8dd144c2a543524b93da73b68329ee libstdc++-v3/include/c_global/cstdint ce8506f689e00bf5ba045858c1f7c387 libstdc++-v3/include/c_global/cstdio 9f108090c3611d9af787714e608922bd libstdc++-v3/include/c_global/cstdlib --- 66843,66849 ---- f609f9956342754a688b405e9129c7ab libstdc++-v3/include/c_global/cstdalign 6ed2b2d912b7224c29f22f773a7d512f libstdc++-v3/include/c_global/cstdarg 97be7ca9ac03bbc43af611b152a95f05 libstdc++-v3/include/c_global/cstdbool ! 717eb0da33b0c578d520954902c0922c libstdc++-v3/include/c_global/cstddef 2a8dd144c2a543524b93da73b68329ee libstdc++-v3/include/c_global/cstdint ce8506f689e00bf5ba045858c1f7c387 libstdc++-v3/include/c_global/cstdio 9f108090c3611d9af787714e608922bd libstdc++-v3/include/c_global/cstdlib *************** a306eb7b2399c6ae6a6596308291f882 libstd *** 66561,66568 **** 38828e20144201cf5de5c042eb6e935f libstdc++-v3/include/debug/list 95cd8c81da811c7cedc4b9c21444a057 libstdc++-v3/include/debug/macros.h b37ffacdca77ab4fe983f06b50be3a14 libstdc++-v3/include/debug/map ! 76ca75d2281adba75edc040ea27e848b libstdc++-v3/include/debug/map.h ! 960f615f7f18d51d2798034629646fe9 libstdc++-v3/include/debug/multimap.h 4ac2b8a05d2c40440ae9a20dd12083b5 libstdc++-v3/include/debug/multiset.h 355308110e1480a90f31a010df8e18e2 libstdc++-v3/include/debug/safe_base.h 255f32cb67ecf0109bef67c254ceb9b1 libstdc++-v3/include/debug/safe_container.h --- 66884,66891 ---- 38828e20144201cf5de5c042eb6e935f libstdc++-v3/include/debug/list 95cd8c81da811c7cedc4b9c21444a057 libstdc++-v3/include/debug/macros.h b37ffacdca77ab4fe983f06b50be3a14 libstdc++-v3/include/debug/map ! ffd3155a66178bff3d48227c39b5315b libstdc++-v3/include/debug/map.h ! c71f6cb356e14fba892670d801c1269d libstdc++-v3/include/debug/multimap.h 4ac2b8a05d2c40440ae9a20dd12083b5 libstdc++-v3/include/debug/multiset.h 355308110e1480a90f31a010df8e18e2 libstdc++-v3/include/debug/safe_base.h 255f32cb67ecf0109bef67c254ceb9b1 libstdc++-v3/include/debug/safe_container.h *************** a0566c7a3c404abd750a5ee0eae97003 libstd *** 66579,66585 **** 860bfd488c72f27812823dcb7d0cc31a libstdc++-v3/include/debug/set.h 7d9677b5a894607641446f036023d751 libstdc++-v3/include/debug/stl_iterator.h 1362fb4e80bf412791441fe403b27daf libstdc++-v3/include/debug/string ! cb39f153e85897f12fead2cbe411e027 libstdc++-v3/include/debug/unordered_map ba36c45972020046e49921dfbecb5fcf libstdc++-v3/include/debug/unordered_set 3458e047194652a475262b5c2457866b libstdc++-v3/include/debug/vector a0c64ece84833a489daf0599b8c12bde libstdc++-v3/include/decimal/decimal --- 66902,66908 ---- 860bfd488c72f27812823dcb7d0cc31a libstdc++-v3/include/debug/set.h 7d9677b5a894607641446f036023d751 libstdc++-v3/include/debug/stl_iterator.h 1362fb4e80bf412791441fe403b27daf libstdc++-v3/include/debug/string ! 853bb89ae9077497a1a19c1d91bcab47 libstdc++-v3/include/debug/unordered_map ba36c45972020046e49921dfbecb5fcf libstdc++-v3/include/debug/unordered_set 3458e047194652a475262b5c2457866b libstdc++-v3/include/debug/vector a0c64ece84833a489daf0599b8c12bde libstdc++-v3/include/decimal/decimal *************** a68ff040c2a115e3a70ed639bdaea883 libstd *** 66590,66600 **** f0008dd760a8e4c1a7c679a90e39ae6d libstdc++-v3/include/experimental/bits/erase_if.h e490c2aee0f90a78bec2ef2aecb879e8 libstdc++-v3/include/experimental/bits/fs_dir.h 7642f1f8c8f75a4735190cddb44dfd35 libstdc++-v3/include/experimental/bits/fs_fwd.h ! cacaa3030c8adb2cb1dbbbd94d87c90e libstdc++-v3/include/experimental/bits/fs_ops.h ! b1e54487986ba93a7149463cc25f991c libstdc++-v3/include/experimental/bits/fs_path.h 3acad18578c5c05888371f2212ce9a5e libstdc++-v3/include/experimental/bits/lfts_config.h ba5e3a8eb76e4454d8ebf720b35b3bd6 libstdc++-v3/include/experimental/bits/shared_ptr.h ! cde578a0ed7e78b7ce8722a6117ae1a1 libstdc++-v3/include/experimental/bits/string_view.tcc ab6c32e30f8e4ee6b8db62d84ac707c4 libstdc++-v3/include/experimental/chrono 4cd2c47b701c6830066cfd8eadf973d3 libstdc++-v3/include/experimental/deque d1e08b9e6e142475882f6a2c3cc99fab libstdc++-v3/include/experimental/filesystem --- 66913,66923 ---- f0008dd760a8e4c1a7c679a90e39ae6d libstdc++-v3/include/experimental/bits/erase_if.h e490c2aee0f90a78bec2ef2aecb879e8 libstdc++-v3/include/experimental/bits/fs_dir.h 7642f1f8c8f75a4735190cddb44dfd35 libstdc++-v3/include/experimental/bits/fs_fwd.h ! be0ce778892c4b03eb34d95a395c9372 libstdc++-v3/include/experimental/bits/fs_ops.h ! 3b6b9c9585a7a24e0407f9df642dc46c libstdc++-v3/include/experimental/bits/fs_path.h 3acad18578c5c05888371f2212ce9a5e libstdc++-v3/include/experimental/bits/lfts_config.h ba5e3a8eb76e4454d8ebf720b35b3bd6 libstdc++-v3/include/experimental/bits/shared_ptr.h ! 587a0f1d40cccc79022b61f76124625f libstdc++-v3/include/experimental/bits/string_view.tcc ab6c32e30f8e4ee6b8db62d84ac707c4 libstdc++-v3/include/experimental/chrono 4cd2c47b701c6830066cfd8eadf973d3 libstdc++-v3/include/experimental/deque d1e08b9e6e142475882f6a2c3cc99fab libstdc++-v3/include/experimental/filesystem *************** e302f55517a41e1a24f6e0f2aa0430fd libstd *** 66614,66620 **** b9f0463229149fa9a8def38a1113a098 libstdc++-v3/include/experimental/set 7eb2cd439e7414825858d8ea6ebe5c9e libstdc++-v3/include/experimental/source_location 6568909ef2ab083b6c817574e94d3b8d libstdc++-v3/include/experimental/string ! 1455d0155673d7061f19a656ab6a26d7 libstdc++-v3/include/experimental/string_view 092311155b5d80283998d0f2a4b1098f libstdc++-v3/include/experimental/system_error a84eb611b921245ab7898c368dbf1347 libstdc++-v3/include/experimental/tuple 1929d9ca8ef74251254900b831b0cc3f libstdc++-v3/include/experimental/type_traits --- 66937,66943 ---- b9f0463229149fa9a8def38a1113a098 libstdc++-v3/include/experimental/set 7eb2cd439e7414825858d8ea6ebe5c9e libstdc++-v3/include/experimental/source_location 6568909ef2ab083b6c817574e94d3b8d libstdc++-v3/include/experimental/string ! e0e1da7f05c010e92123f5fb8ab63944 libstdc++-v3/include/experimental/string_view 092311155b5d80283998d0f2a4b1098f libstdc++-v3/include/experimental/system_error a84eb611b921245ab7898c368dbf1347 libstdc++-v3/include/experimental/tuple 1929d9ca8ef74251254900b831b0cc3f libstdc++-v3/include/experimental/type_traits *************** a502c1b2a137706a91fb1ed914676b0b libstd *** 66640,66646 **** c94fbcbbdeb62e440e5081bf21ab24a8 libstdc++-v3/include/ext/malloc_allocator.h ad7e248305a7e7dac41f76f3f468f385 libstdc++-v3/include/ext/memory 0744cac892b1bef4e0e06bb59742eca6 libstdc++-v3/include/ext/mt_allocator.h ! cea9b509278ada5955a1f2db0b800fda libstdc++-v3/include/ext/new_allocator.h ed411972a70b076ce9b16fbda6131605 libstdc++-v3/include/ext/numeric cd58b3172459af24048172ef8090f164 libstdc++-v3/include/ext/numeric_traits.h 4b1204987da894df83a9bf363fe41359 libstdc++-v3/include/ext/pb_ds/assoc_container.hpp --- 66963,66969 ---- c94fbcbbdeb62e440e5081bf21ab24a8 libstdc++-v3/include/ext/malloc_allocator.h ad7e248305a7e7dac41f76f3f468f385 libstdc++-v3/include/ext/memory 0744cac892b1bef4e0e06bb59742eca6 libstdc++-v3/include/ext/mt_allocator.h ! 42b88425563f6f192b99ef43d6ba53cd libstdc++-v3/include/ext/new_allocator.h ed411972a70b076ce9b16fbda6131605 libstdc++-v3/include/ext/numeric cd58b3172459af24048172ef8090f164 libstdc++-v3/include/ext/numeric_traits.h 4b1204987da894df83a9bf363fe41359 libstdc++-v3/include/ext/pb_ds/assoc_container.hpp *************** a4dbaed45302898059965a2536fa70f6 libstd *** 66986,67018 **** da95e16cd816137a117a75edcdfa7edb libstdc++-v3/include/profile/unordered_set 77784a11757398ad33c59f0b97deb272 libstdc++-v3/include/profile/vector 6888850646b32f4cf5d7acbcdf814e62 libstdc++-v3/include/std/algorithm ! 329581c9c851011b928550ce7c2e2408 libstdc++-v3/include/std/any 2fd954e55939b25cd70cd8e2ba3bcb61 libstdc++-v3/include/std/array 3b19e6f709a310e8cb3fb34a67cb2564 libstdc++-v3/include/std/atomic 6b7c7fb7392b2a53b55c6c59aea6e9a1 libstdc++-v3/include/std/bitset ! d2aa1fd3a2526183369422a7a240704c libstdc++-v3/include/std/chrono 2079367f26eb6ecbf88c729bae106bab libstdc++-v3/include/std/codecvt ! c9e4908557ace2f673f9b79e0584a730 libstdc++-v3/include/std/complex 96dbebb6aa26138358e8a54b47c1fa22 libstdc++-v3/include/std/condition_variable b0cd6fcf5dc0fded5a263b5865e4e932 libstdc++-v3/include/std/deque 8668416873a553aa57dcecd62a2487e7 libstdc++-v3/include/std/forward_list a7aee3f016d82cb2f6be6e5b3e3696c2 libstdc++-v3/include/std/fstream 9a02ef3f94dbc384243a013e494eaf18 libstdc++-v3/include/std/functional ! 415333f52423969619621bc12ee2d606 libstdc++-v3/include/std/future 4f1e1d55ed5c7afb6862631176f4d2da libstdc++-v3/include/std/iomanip 725e92945a7552b69a75a4290b375f2f libstdc++-v3/include/std/ios 0ffdae1d450eee0b5dc8eaebf566e7a3 libstdc++-v3/include/std/iosfwd 9c6312ea749ae105dd358ba0cd304300 libstdc++-v3/include/std/iostream ! 9b5eee0ee449807985df3bae05707a15 libstdc++-v3/include/std/istream ee46e2b204822fb68585ca990cb55fe1 libstdc++-v3/include/std/iterator b7e5ae765d31340918b1a54c3b1d31fc libstdc++-v3/include/std/limits 6e7eed60127763223a432c5ad7d7370f libstdc++-v3/include/std/list f5721edd39e212a96236797133280047 libstdc++-v3/include/std/locale 338291fc61482afd0bab0071ebdb2572 libstdc++-v3/include/std/map f008669ae0b0683f54f6fb3135dfffde libstdc++-v3/include/std/memory ! a7eb22ca5fac214f4caed4974538df46 libstdc++-v3/include/std/mutex ! d0606eaa8eee3df247770c7419094cd1 libstdc++-v3/include/std/numeric ! 1244264ae56bb46e18d4de299e2ca3bc libstdc++-v3/include/std/optional 3e01bf72cb649a8b3219a4c1bf2abbc5 libstdc++-v3/include/std/ostream 8b030f58e9dc4ecea8b2eb241b8d36cc libstdc++-v3/include/std/queue aea8e691c1eda6992a5759bda4f88948 libstdc++-v3/include/std/random --- 67309,67341 ---- da95e16cd816137a117a75edcdfa7edb libstdc++-v3/include/profile/unordered_set 77784a11757398ad33c59f0b97deb272 libstdc++-v3/include/profile/vector 6888850646b32f4cf5d7acbcdf814e62 libstdc++-v3/include/std/algorithm ! 925a427ddfc7a02e56ea97c611bb220a libstdc++-v3/include/std/any 2fd954e55939b25cd70cd8e2ba3bcb61 libstdc++-v3/include/std/array 3b19e6f709a310e8cb3fb34a67cb2564 libstdc++-v3/include/std/atomic 6b7c7fb7392b2a53b55c6c59aea6e9a1 libstdc++-v3/include/std/bitset ! cc4a69d45540fb00fc8a9c33993eb163 libstdc++-v3/include/std/chrono 2079367f26eb6ecbf88c729bae106bab libstdc++-v3/include/std/codecvt ! e004f290d6fad2e43cdc9d1478eb83e9 libstdc++-v3/include/std/complex 96dbebb6aa26138358e8a54b47c1fa22 libstdc++-v3/include/std/condition_variable b0cd6fcf5dc0fded5a263b5865e4e932 libstdc++-v3/include/std/deque 8668416873a553aa57dcecd62a2487e7 libstdc++-v3/include/std/forward_list a7aee3f016d82cb2f6be6e5b3e3696c2 libstdc++-v3/include/std/fstream 9a02ef3f94dbc384243a013e494eaf18 libstdc++-v3/include/std/functional ! 4f7515c35db442bcbb61ff2532ed0250 libstdc++-v3/include/std/future 4f1e1d55ed5c7afb6862631176f4d2da libstdc++-v3/include/std/iomanip 725e92945a7552b69a75a4290b375f2f libstdc++-v3/include/std/ios 0ffdae1d450eee0b5dc8eaebf566e7a3 libstdc++-v3/include/std/iosfwd 9c6312ea749ae105dd358ba0cd304300 libstdc++-v3/include/std/iostream ! f1312104f8152c721151b4ec47ba37b5 libstdc++-v3/include/std/istream ee46e2b204822fb68585ca990cb55fe1 libstdc++-v3/include/std/iterator b7e5ae765d31340918b1a54c3b1d31fc libstdc++-v3/include/std/limits 6e7eed60127763223a432c5ad7d7370f libstdc++-v3/include/std/list f5721edd39e212a96236797133280047 libstdc++-v3/include/std/locale 338291fc61482afd0bab0071ebdb2572 libstdc++-v3/include/std/map f008669ae0b0683f54f6fb3135dfffde libstdc++-v3/include/std/memory ! 492670925934aa0869810da0ba3f5a59 libstdc++-v3/include/std/mutex ! ddc3090928c84bc8608da7a8498d1384 libstdc++-v3/include/std/numeric ! 06067ab3ead834bc5749d0a9c59ba770 libstdc++-v3/include/std/optional 3e01bf72cb649a8b3219a4c1bf2abbc5 libstdc++-v3/include/std/ostream 8b030f58e9dc4ecea8b2eb241b8d36cc libstdc++-v3/include/std/queue aea8e691c1eda6992a5759bda4f88948 libstdc++-v3/include/std/random *************** aea8e691c1eda6992a5759bda4f88948 libstd *** 67020,67042 **** 3cd5f646ff1fe7105ae3bc0f01322e1a libstdc++-v3/include/std/regex d86a355f52c2494f645dca6f61e22629 libstdc++-v3/include/std/scoped_allocator 543774b3b4ddf978ef7d0b6d00eaf44d libstdc++-v3/include/std/set ! 9caa6e9be9458fea08c0157218bd1f0e libstdc++-v3/include/std/shared_mutex ! c56bebc4f07b12ac3b1c186e439bd477 libstdc++-v3/include/std/sstream 2b3616f296f6aa796e2e12a13835efcc libstdc++-v3/include/std/stack d4b2e96bcd277dce93794d039b9b8899 libstdc++-v3/include/std/stdexcept e0a4548de9093e17fdf9856c2fdc7b79 libstdc++-v3/include/std/streambuf 20e8a1fc62a35b5cc7340e0e12ecba4e libstdc++-v3/include/std/string ! 01011948d1f893d033f735fd5e019f36 libstdc++-v3/include/std/string_view a569fc432fea0bae0eaadadd533bab4d libstdc++-v3/include/std/system_error 64b99affdc53c9426f0e2950ece2c508 libstdc++-v3/include/std/thread c8e93fdd89a112f0c50b9ff87fb63e33 libstdc++-v3/include/std/tuple ! b6ee09923686f05e02997631cc8b58bf libstdc++-v3/include/std/type_traits f6db2f6c313ce30896ebd0ef7fdcd816 libstdc++-v3/include/std/typeindex 5c1f0d70746c520f9a2aa5aa363b6851 libstdc++-v3/include/std/unordered_map 40af560d2f7d91fbc5ddfe9099e959ec libstdc++-v3/include/std/unordered_set ! 7df4fa5b76d3f9577fa10da630ae534c libstdc++-v3/include/std/utility 9dc6c211c3503697170d85aec9d3ef37 libstdc++-v3/include/std/valarray ! a3f26cb7290e22cfddec3c451817b331 libstdc++-v3/include/std/variant 524416117d96559514029824ea8182fc libstdc++-v3/include/std/vector 98a03c40ae073a2c2bdc2b7b42c65bc4 libstdc++-v3/include/tr1/array ac8f2f0647f302709bfae97d9408d6fe libstdc++-v3/include/tr1/bessel_function.tcc --- 67343,67365 ---- 3cd5f646ff1fe7105ae3bc0f01322e1a libstdc++-v3/include/std/regex d86a355f52c2494f645dca6f61e22629 libstdc++-v3/include/std/scoped_allocator 543774b3b4ddf978ef7d0b6d00eaf44d libstdc++-v3/include/std/set ! bb1d4c468cabc239fbfd3a4110e45557 libstdc++-v3/include/std/shared_mutex ! 46681c768f8d6601db1750c87af9512e libstdc++-v3/include/std/sstream 2b3616f296f6aa796e2e12a13835efcc libstdc++-v3/include/std/stack d4b2e96bcd277dce93794d039b9b8899 libstdc++-v3/include/std/stdexcept e0a4548de9093e17fdf9856c2fdc7b79 libstdc++-v3/include/std/streambuf 20e8a1fc62a35b5cc7340e0e12ecba4e libstdc++-v3/include/std/string ! bf5ded1efef787ab2440841905194bab libstdc++-v3/include/std/string_view a569fc432fea0bae0eaadadd533bab4d libstdc++-v3/include/std/system_error 64b99affdc53c9426f0e2950ece2c508 libstdc++-v3/include/std/thread c8e93fdd89a112f0c50b9ff87fb63e33 libstdc++-v3/include/std/tuple ! 78d2d49327da08807070e9cde6f0583e libstdc++-v3/include/std/type_traits f6db2f6c313ce30896ebd0ef7fdcd816 libstdc++-v3/include/std/typeindex 5c1f0d70746c520f9a2aa5aa363b6851 libstdc++-v3/include/std/unordered_map 40af560d2f7d91fbc5ddfe9099e959ec libstdc++-v3/include/std/unordered_set ! 8ce5bbe44709366d0eee3f841a0da019 libstdc++-v3/include/std/utility 9dc6c211c3503697170d85aec9d3ef37 libstdc++-v3/include/std/valarray ! 3464d609eb4c5efa826e1ad1920616dd libstdc++-v3/include/std/variant 524416117d96559514029824ea8182fc libstdc++-v3/include/std/vector 98a03c40ae073a2c2bdc2b7b42c65bc4 libstdc++-v3/include/tr1/array ac8f2f0647f302709bfae97d9408d6fe libstdc++-v3/include/tr1/bessel_function.tcc *************** cf6842fa4dcad6fe5f6ae75491a85408 libstd *** 67118,67124 **** 2f3f9d1d57869c7aa4896d0a48fcdee1 libstdc++-v3/libsupc++/bad_cast.cc 1e2fa9b2a26073271a74ccf5ef349dfc libstdc++-v3/libsupc++/bad_typeid.cc 41dcf2edb2b119ee834ae1e65ce5277a libstdc++-v3/libsupc++/class_type_info.cc ! f3c07c2c956c67817ba9ca1d667cb337 libstdc++-v3/libsupc++/cxxabi.h 014e0058e7fc59771a9024655b0f7c2e libstdc++-v3/libsupc++/cxxabi_forced.h 6c8386edc68eadd138db5128a69e11e3 libstdc++-v3/libsupc++/cxxabi_init_exception.h 157788849745463dfb2ae186c33de61f libstdc++-v3/libsupc++/del_op.cc --- 67441,67447 ---- 2f3f9d1d57869c7aa4896d0a48fcdee1 libstdc++-v3/libsupc++/bad_cast.cc 1e2fa9b2a26073271a74ccf5ef349dfc libstdc++-v3/libsupc++/bad_typeid.cc 41dcf2edb2b119ee834ae1e65ce5277a libstdc++-v3/libsupc++/class_type_info.cc ! ef8f8200f041873163ec35e6e49757af libstdc++-v3/libsupc++/cxxabi.h 014e0058e7fc59771a9024655b0f7c2e libstdc++-v3/libsupc++/cxxabi_forced.h 6c8386edc68eadd138db5128a69e11e3 libstdc++-v3/libsupc++/cxxabi_init_exception.h 157788849745463dfb2ae186c33de61f libstdc++-v3/libsupc++/del_op.cc *************** e74a6fa1d9d5837ff23ea763eeed7bee libstd *** 67201,67207 **** f539df133567379ad0f1f9c3cb9a7981 libstdc++-v3/python/hook.in 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py 42eba6becf26fb9be17456c725ee075c libstdc++-v3/python/libstdcxx/v6/__init__.py ! 2b53cbbd95241fd1d11920c2859e3154 libstdc++-v3/python/libstdcxx/v6/printers.py b890a88bda6bbf1918279d8fa2e0dc31 libstdc++-v3/python/libstdcxx/v6/xmethods.py b1441422cec6381d9285b7681b666124 libstdc++-v3/scripts/check_compile 533e594add6e79910b0e557ba690fac6 libstdc++-v3/scripts/check_performance --- 67524,67530 ---- f539df133567379ad0f1f9c3cb9a7981 libstdc++-v3/python/hook.in 68b329da9893e34099c7d8ad5cb9c940 libstdc++-v3/python/libstdcxx/__init__.py 42eba6becf26fb9be17456c725ee075c libstdc++-v3/python/libstdcxx/v6/__init__.py ! e117d447dca4678394865369d094d9a2 libstdc++-v3/python/libstdcxx/v6/printers.py b890a88bda6bbf1918279d8fa2e0dc31 libstdc++-v3/python/libstdcxx/v6/xmethods.py b1441422cec6381d9285b7681b666124 libstdc++-v3/scripts/check_compile 533e594add6e79910b0e557ba690fac6 libstdc++-v3/scripts/check_performance *************** f73fdf94a017dc421c3bdb1ca09ef1a1 libstd *** 67324,67330 **** 5aecc6c41de6a04ff2cd492babba1f04 libstdc++-v3/src/filesystem/cow-ops.cc ce1d40dd59bfb48cea6af1fdc01e7ab6 libstdc++-v3/src/filesystem/cow-path.cc 1933a4a539101653c6295fd6d8161483 libstdc++-v3/src/filesystem/dir.cc ! c8906e590233f8289834021b162c5326 libstdc++-v3/src/filesystem/ops.cc 1ea70560cb4013b899fb1b527be35030 libstdc++-v3/src/filesystem/path.cc 3ab250976eb86f0ac1edc8b3f35b3449 libstdc++-v3/src/shared/hashtable-aux.cc eff68d13ec5ad1d4a63320b78a36a8b2 libstdc++-v3/testsuite/17_intro/freestanding.cc --- 67647,67653 ---- 5aecc6c41de6a04ff2cd492babba1f04 libstdc++-v3/src/filesystem/cow-ops.cc ce1d40dd59bfb48cea6af1fdc01e7ab6 libstdc++-v3/src/filesystem/cow-path.cc 1933a4a539101653c6295fd6d8161483 libstdc++-v3/src/filesystem/dir.cc ! ed5a3a8ce9cdba423010d9d1356af71d libstdc++-v3/src/filesystem/ops.cc 1ea70560cb4013b899fb1b527be35030 libstdc++-v3/src/filesystem/path.cc 3ab250976eb86f0ac1edc8b3f35b3449 libstdc++-v3/src/shared/hashtable-aux.cc eff68d13ec5ad1d4a63320b78a36a8b2 libstdc++-v3/testsuite/17_intro/freestanding.cc *************** a05741b50f736591adc069c7244a103e libstd *** 67357,67363 **** 05d1bb38b57c5303ede5a827deb320b5 libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc 918303f7d111e8bee6afecfb607bc488 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc 01aee116ab8b6ebe7ff6358cf8bf2394 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc ! e5203b13d9e40e55dfe4e0ca32686e3a libstdc++-v3/testsuite/17_intro/names.cc 69376f9eebb6b3e66f3bbe5501e56017 libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc 4a79b3b2a6b5d7a3e4c35ee9ab270376 libstdc++-v3/testsuite/17_intro/static.cc 8c893a06f3284d0f487c3b47ff0aa9ff libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc --- 67680,67686 ---- 05d1bb38b57c5303ede5a827deb320b5 libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc 918303f7d111e8bee6afecfb607bc488 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc 01aee116ab8b6ebe7ff6358cf8bf2394 libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc ! 11e813bd6abc664901d439a6e0bfe10a libstdc++-v3/testsuite/17_intro/names.cc 69376f9eebb6b3e66f3bbe5501e56017 libstdc++-v3/testsuite/17_intro/shared_with_static_deps.cc 4a79b3b2a6b5d7a3e4c35ee9ab270376 libstdc++-v3/testsuite/17_intro/static.cc 8c893a06f3284d0f487c3b47ff0aa9ff libstdc++-v3/testsuite/17_intro/tag_type_explicit_ctor.cc *************** d0e02b19cff96eede238cf5904dece07 libstd *** 67377,67383 **** b8ab6128cbeb65189af7d5be270fc1cf libstdc++-v3/testsuite/18_support/bad_typeid/what.cc bec6dfcb09de858a29505df0f2f0aeb9 libstdc++-v3/testsuite/18_support/byte/global_neg.cc 2aca3fd527f405b840b750d4d5d9b3fa libstdc++-v3/testsuite/18_support/byte/ops.cc ! 103d0fe2c57e763cc11bca09b7cc467e libstdc++-v3/testsuite/18_support/byte/requirements.cc e8dfcdc5d1339dd84e557015b1bcf8ec libstdc++-v3/testsuite/18_support/cxa_vec.cc 5a96da5f9f6db88fd4b6755b256f2579 libstdc++-v3/testsuite/18_support/exception/38732.cc 0abe6e258560c99b54336dcabaf65c84 libstdc++-v3/testsuite/18_support/exception/what.cc --- 67700,67706 ---- b8ab6128cbeb65189af7d5be270fc1cf libstdc++-v3/testsuite/18_support/bad_typeid/what.cc bec6dfcb09de858a29505df0f2f0aeb9 libstdc++-v3/testsuite/18_support/byte/global_neg.cc 2aca3fd527f405b840b750d4d5d9b3fa libstdc++-v3/testsuite/18_support/byte/ops.cc ! be76209c41ca34dea22ac462cb535682 libstdc++-v3/testsuite/18_support/byte/requirements.cc e8dfcdc5d1339dd84e557015b1bcf8ec libstdc++-v3/testsuite/18_support/cxa_vec.cc 5a96da5f9f6db88fd4b6755b256f2579 libstdc++-v3/testsuite/18_support/exception/38732.cc 0abe6e258560c99b54336dcabaf65c84 libstdc++-v3/testsuite/18_support/exception/what.cc *************** c4567c31093428a6965c938168abdcf1 libstd *** 67620,67625 **** --- 67943,67949 ---- d4095340d0cac9c4b84a4a1f5306ce19 libstdc++-v3/testsuite/20_util/bind/60497.cc a2dc20d1bb89c92c55c5dc2bf0dc5ad2 libstdc++-v3/testsuite/20_util/bind/68912.cc 1aed7100604578fef837216b31c5997d libstdc++-v3/testsuite/20_util/bind/79798.cc + ed9478b438f2566c787c67f98086cbef libstdc++-v3/testsuite/20_util/bind/83427.cc 9cd9cb31e93afff6e429d3c81bc86fc7 libstdc++-v3/testsuite/20_util/bind/all_bound.cc 95db69c00c77e9f0ef99c9626d249391 libstdc++-v3/testsuite/20_util/bind/conv_result.cc 4b826f3194ebaddcf754bac2b47fd11e libstdc++-v3/testsuite/20_util/bind/cv_quals.cc *************** a9ae18742292665ba37e7b595e15bb05 libstd *** 67648,67654 **** a2a0b769b91af2069a3fbf531d90bec8 libstdc++-v3/testsuite/20_util/decay/requirements/explicit_instantiation.cc 3ac3b10c39962746cbdf15b183f0e155 libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc 82ead4859cf1504cc0749b0fac8b490c libstdc++-v3/testsuite/20_util/declval/requirements/1.cc ! 7c7c98d2084c89a45f966e6a76457e28 libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc 8c64175afb8885fe1bcf064c55009a51 libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc 6166cef73453d4f031458134a5dc2c25 libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc c2c9d805cc089b21c1b5ed31189e3678 libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc --- 67972,67978 ---- a2a0b769b91af2069a3fbf531d90bec8 libstdc++-v3/testsuite/20_util/decay/requirements/explicit_instantiation.cc 3ac3b10c39962746cbdf15b183f0e155 libstdc++-v3/testsuite/20_util/decay/requirements/typedefs.cc 82ead4859cf1504cc0749b0fac8b490c libstdc++-v3/testsuite/20_util/declval/requirements/1.cc ! 02c09087999522c774701e76cf8d8c98 libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc 8c64175afb8885fe1bcf064c55009a51 libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc 6166cef73453d4f031458134a5dc2c25 libstdc++-v3/testsuite/20_util/default_delete/cons/constexpr.cc c2c9d805cc089b21c1b5ed31189e3678 libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc *************** c2c9d805cc089b21c1b5ed31189e3678 libstd *** 67656,67662 **** fef0c07bab79322d6cf97a1bce4125e9 libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc d4c0f93fd6762408de4acdfb6146f20a libstdc++-v3/testsuite/20_util/duration/arithmetic/58850.cc 5e15902c2b6449c02fe1c66b15cdb5c7 libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr.cc ! 577e6267828ad385a8bc7f5ab25f1a84 libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc d7e73b24f735edbfbf1cc30bd57626fe libstdc++-v3/testsuite/20_util/duration/arithmetic/dr2020.cc b07aa1b81cf178e0aca8e278fe00083b libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-1.cc 67e3ca60f3474e117e0375487a2ecae9 libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-2.cc --- 67980,67986 ---- fef0c07bab79322d6cf97a1bce4125e9 libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc d4c0f93fd6762408de4acdfb6146f20a libstdc++-v3/testsuite/20_util/duration/arithmetic/58850.cc 5e15902c2b6449c02fe1c66b15cdb5c7 libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr.cc ! 18ffb8a9d80dfe22b9cb234cd3fb5b83 libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc d7e73b24f735edbfbf1cc30bd57626fe libstdc++-v3/testsuite/20_util/duration/arithmetic/dr2020.cc b07aa1b81cf178e0aca8e278fe00083b libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-1.cc 67e3ca60f3474e117e0375487a2ecae9 libstdc++-v3/testsuite/20_util/duration/arithmetic/dr934-2.cc *************** bc3b3b44b8bada5bf41893e07b9e5e99 libstd *** 67667,67677 **** ec8b4d75eb29de191b3f594a613c9dcb libstdc++-v3/testsuite/20_util/duration/cons/2.cc ea1cdeb76e38c810fb37864aa2c33aeb libstdc++-v3/testsuite/20_util/duration/cons/54025.cc 507a0568ae5e560981e716bba98e98f2 libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc be33cee2a34fe60ba253646b46743032 libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc 12ed01ca34e25e6c15b05ab5e74dfef2 libstdc++-v3/testsuite/20_util/duration/literals/61166.cc e2a3457e5da5470658140011c8ffb7ee libstdc++-v3/testsuite/20_util/duration/literals/65499.cc f11b5a7d64db419bf2305c0f433c638b libstdc++-v3/testsuite/20_util/duration/literals/ns_detail.cc ! 9b7e605600180b0c4542f1178e4d6e93 libstdc++-v3/testsuite/20_util/duration/literals/range.cc 4df193519da56bb3b9abe12b08236281 libstdc++-v3/testsuite/20_util/duration/literals/types.cc 2e440747233ff3c0d09a865a6f48958d libstdc++-v3/testsuite/20_util/duration/literals/values.cc 8b9ebb830e3f48a3baf33c09de7b0906 libstdc++-v3/testsuite/20_util/duration/requirements/constexpr_functions.cc --- 67991,68002 ---- ec8b4d75eb29de191b3f594a613c9dcb libstdc++-v3/testsuite/20_util/duration/cons/2.cc ea1cdeb76e38c810fb37864aa2c33aeb libstdc++-v3/testsuite/20_util/duration/cons/54025.cc 507a0568ae5e560981e716bba98e98f2 libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc + fbaa937edc0105b6ee5eaf81bf887591 libstdc++-v3/testsuite/20_util/duration/cons/dr1177.cc be33cee2a34fe60ba253646b46743032 libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc 12ed01ca34e25e6c15b05ab5e74dfef2 libstdc++-v3/testsuite/20_util/duration/literals/61166.cc e2a3457e5da5470658140011c8ffb7ee libstdc++-v3/testsuite/20_util/duration/literals/65499.cc f11b5a7d64db419bf2305c0f433c638b libstdc++-v3/testsuite/20_util/duration/literals/ns_detail.cc ! e44db0477aa210ca528f818e8dad32d7 libstdc++-v3/testsuite/20_util/duration/literals/range.cc 4df193519da56bb3b9abe12b08236281 libstdc++-v3/testsuite/20_util/duration/literals/types.cc 2e440747233ff3c0d09a865a6f48958d libstdc++-v3/testsuite/20_util/duration/literals/values.cc 8b9ebb830e3f48a3baf33c09de7b0906 libstdc++-v3/testsuite/20_util/duration/requirements/constexpr_functions.cc *************** bce7d1e533e301d865972859df3e0b2c libstd *** 67880,67885 **** --- 68205,68211 ---- a343109d47b57c764490ac4271a8b30f libstdc++-v3/testsuite/20_util/is_integral/requirements/explicit_instantiation.cc 1e96e329f78f9f3ed47b401c8ef9f50f libstdc++-v3/testsuite/20_util/is_integral/requirements/typedefs.cc b83bf3c7cbbf8f9e088312011e111d43 libstdc++-v3/testsuite/20_util/is_integral/value.cc + 4b04aa5e575ee88e89eeb77c8698bc3a libstdc++-v3/testsuite/20_util/is_invocable/83395.cc 2ccc44d2d0db07b53cbe4bb341fc0cde libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc 14548024d83ed1ae7bb7f3d1e3731aec libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation_ext.cc b3f16906dc22b94e2f0b6bb144c04360 libstdc++-v3/testsuite/20_util/is_invocable/requirements/typedefs.cc *************** cb7138718159307736af57d4528b4d3e libstd *** 67925,67936 **** 68cfe69a928a800941d411f38c2166e4 libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/explicit_instantiation.cc b5675be4b6431593fa997cfafc5ad1fe libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc 838043394e6cb7442b78937cae9eae9b libstdc++-v3/testsuite/20_util/is_nothrow_destructible/value.cc 673977a0e657ac1bbb144b35b3f4905c libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc b5710f45b8d29e7e6fcf192e73bb85c7 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation_ext.cc 03c310ecee5bb7a433e6fbff21c3a33a libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc 8bcc80f2d2aaca0306443cc7945b854d libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs_ext.cc ! a024170d2be8e76b13e6a36379155edc libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc ! d9174bca97aa05628610e808e48e07ff libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value_ext.cc bda3109ec37916ab097790e822349160 libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc 23580e45062a06d974e96a5347b6ef9d libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc e8d066eeafd331b8edc964f4ad883e9f libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc --- 68251,68263 ---- 68cfe69a928a800941d411f38c2166e4 libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/explicit_instantiation.cc b5675be4b6431593fa997cfafc5ad1fe libstdc++-v3/testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc 838043394e6cb7442b78937cae9eae9b libstdc++-v3/testsuite/20_util/is_nothrow_destructible/value.cc + 78ce78c6b0b886540584e95c660caeea libstdc++-v3/testsuite/20_util/is_nothrow_invocable/83395.cc 673977a0e657ac1bbb144b35b3f4905c libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc b5710f45b8d29e7e6fcf192e73bb85c7 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation_ext.cc 03c310ecee5bb7a433e6fbff21c3a33a libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc 8bcc80f2d2aaca0306443cc7945b854d libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs_ext.cc ! 2540f96b3181445d53a32d5b89916545 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value.cc ! 622132fad1cb61946c79c475a5016389 libstdc++-v3/testsuite/20_util/is_nothrow_invocable/value_ext.cc bda3109ec37916ab097790e822349160 libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/explicit_instantiation.cc 23580e45062a06d974e96a5347b6ef9d libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/requirements/typedefs.cc e8d066eeafd331b8edc964f4ad883e9f libstdc++-v3/testsuite/20_util/is_nothrow_move_assignable/value.cc *************** e04c97ac2f7601eb287862a84ae0770c libstd *** 68032,68037 **** --- 68359,68365 ---- 803c6ec774d22a35771941dd1ef8463c libstdc++-v3/testsuite/20_util/is_volatile/requirements/explicit_instantiation.cc ae23e332ee86217046e2146d5ffcf174 libstdc++-v3/testsuite/20_util/is_volatile/requirements/typedefs.cc 06f6789b4bfa2bef25929b1585206951 libstdc++-v3/testsuite/20_util/is_volatile/value.cc + e338d81a28095cf74650813ace27a492 libstdc++-v3/testsuite/20_util/logical_traits/83134.cc af4c2b182b3fe292d676bffe0c816a82 libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc 9909af38132aefaea8409d934a7b27d1 libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc acae34690e2ce0da78664a42357a3193 libstdc++-v3/testsuite/20_util/logical_traits/value.cc *************** eec4099918516fae11916714cc92770f libstd *** 68041,68053 **** 8fc1f08c4ebfa53298fd727f2236253b libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc 637f669aef7d1e3767b0fa24bf43fedf libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc 03cba9cb037386db5dc88d0898072813 libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc ! cc01375d3a5cb02b5ef583de6cb89f92 libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b5e45cc506156b120d072648528dd504 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/alias_decl.cc 0492c1e61d046ea7fedfaf084fbb7a49 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc 395fe1ced92f9275afb6e52dd2dcef15 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc 9841e697be535f713c2b3077834b2e79 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc 3e9376c128945a2d3da034accba214f1 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc ! f1deef7d22fc81ad0303551d3409d7c2 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc 089220d186fa66cf20d61dc51468657e libstdc++-v3/testsuite/20_util/move/1.cc bbab4a7d08f970b3406d2ad09d91959b libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc 498dfaab7c248885532b0ca378715a64 libstdc++-v3/testsuite/20_util/move_if_noexcept/1.cc --- 68369,68381 ---- 8fc1f08c4ebfa53298fd727f2236253b libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-2.cc 637f669aef7d1e3767b0fa24bf43fedf libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-3.cc 03cba9cb037386db5dc88d0898072813 libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs-4.cc ! f4b5994e0677c2fd24fe520039666355 libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b5e45cc506156b120d072648528dd504 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/alias_decl.cc 0492c1e61d046ea7fedfaf084fbb7a49 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/explicit_instantiation.cc 395fe1ced92f9275afb6e52dd2dcef15 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-1.cc 9841e697be535f713c2b3077834b2e79 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-2.cc 3e9376c128945a2d3da034accba214f1 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs-3.cc ! dfef757bd16356e8d975cde239e0cc60 libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc 089220d186fa66cf20d61dc51468657e libstdc++-v3/testsuite/20_util/move/1.cc bbab4a7d08f970b3406d2ad09d91959b libstdc++-v3/testsuite/20_util/move/requirements/explicit_instantiation.cc 498dfaab7c248885532b0ca378715a64 libstdc++-v3/testsuite/20_util/move_if_noexcept/1.cc *************** d4de013ab29f3c48e63b95d5a91232d7 libstd *** 68067,68073 **** 4af754d20128a7389346ac0f239008d3 libstdc++-v3/testsuite/20_util/optional/cons/default.cc ca259ae2abb9edb87c794de36e2c746c libstdc++-v3/testsuite/20_util/optional/cons/move.cc 176068883f0bb7706a947cb9ebfd7deb libstdc++-v3/testsuite/20_util/optional/cons/value.cc ! baf716a45eb23b92de1582fc1dfd0aa5 libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc 34ccea0d8a41e80d41335e5c830b9112 libstdc++-v3/testsuite/20_util/optional/constexpr/cons/default.cc deb596146551af3090a3cb94e99201ee libstdc++-v3/testsuite/20_util/optional/constexpr/cons/value.cc 5543d1be88a0be0b3503ca0c019b93d7 libstdc++-v3/testsuite/20_util/optional/constexpr/in_place.cc --- 68395,68401 ---- 4af754d20128a7389346ac0f239008d3 libstdc++-v3/testsuite/20_util/optional/cons/default.cc ca259ae2abb9edb87c794de36e2c746c libstdc++-v3/testsuite/20_util/optional/cons/move.cc 176068883f0bb7706a947cb9ebfd7deb libstdc++-v3/testsuite/20_util/optional/cons/value.cc ! 0e2eaa76ec79a68a83fae97e6f7539d0 libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc 34ccea0d8a41e80d41335e5c830b9112 libstdc++-v3/testsuite/20_util/optional/constexpr/cons/default.cc deb596146551af3090a3cb94e99201ee libstdc++-v3/testsuite/20_util/optional/constexpr/cons/value.cc 5543d1be88a0be0b3503ca0c019b93d7 libstdc++-v3/testsuite/20_util/optional/constexpr/in_place.cc *************** d055de8e42f02bfaa3e6b4477b8ac97c libstd *** 68084,68090 **** 5f6083f398d4b7c4eb5939b76d78f022 libstdc++-v3/testsuite/20_util/optional/constexpr/relops/4.cc f066cba56803cf6be8f386c6d73abcca libstdc++-v3/testsuite/20_util/optional/constexpr/relops/5.cc 85123907f3b87e395144ac26df693031 libstdc++-v3/testsuite/20_util/optional/constexpr/relops/6.cc ! 4f828d0dfbf1aa430bcd4774d84ec92e libstdc++-v3/testsuite/20_util/optional/hash.cc a0041a29679e0661fa7fe26d8c955f6a libstdc++-v3/testsuite/20_util/optional/in_place.cc cef0324d3c6dbc70dbfb0273499ec699 libstdc++-v3/testsuite/20_util/optional/make_optional.cc 38b34d6b11609dee331dbf407ef1884e libstdc++-v3/testsuite/20_util/optional/nullopt.cc --- 68412,68418 ---- 5f6083f398d4b7c4eb5939b76d78f022 libstdc++-v3/testsuite/20_util/optional/constexpr/relops/4.cc f066cba56803cf6be8f386c6d73abcca libstdc++-v3/testsuite/20_util/optional/constexpr/relops/5.cc 85123907f3b87e395144ac26df693031 libstdc++-v3/testsuite/20_util/optional/constexpr/relops/6.cc ! 57d52bd23097674a541f46a0e0edc837 libstdc++-v3/testsuite/20_util/optional/hash.cc a0041a29679e0661fa7fe26d8c955f6a libstdc++-v3/testsuite/20_util/optional/in_place.cc cef0324d3c6dbc70dbfb0273499ec699 libstdc++-v3/testsuite/20_util/optional/make_optional.cc 38b34d6b11609dee331dbf407ef1884e libstdc++-v3/testsuite/20_util/optional/nullopt.cc *************** f87d8ae0867b72eb15286316dcf8ad07 libstd *** 68172,68177 **** --- 68500,68506 ---- 185c7780141e7d8752e58cdf61912bb4 libstdc++-v3/testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc 24f911cdef2a2746be2a1f08869fbe8f libstdc++-v3/testsuite/20_util/reference_wrapper/24803.cc 628c13524091c970faecb75427e653f8 libstdc++-v3/testsuite/20_util/reference_wrapper/41792.cc + d4c4efd4e0781d8e49e8203dd9d535b4 libstdc++-v3/testsuite/20_util/reference_wrapper/83427.cc f810bd5b525cd80f99d2eff4039f859d libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-2.cc dabeef847cfbabb72165b44f71c9cb69 libstdc++-v3/testsuite/20_util/reference_wrapper/invoke-3.cc 78f4f88d261f2fda48f56768a4a28c21 libstdc++-v3/testsuite/20_util/reference_wrapper/invoke.cc *************** e6c0ff45325b89a5e0d9d878bd727b3a libstd *** 68331,68336 **** --- 68660,68666 ---- 69b58b917ca7992b184894e088db55d2 libstdc++-v3/testsuite/20_util/time_point/3.cc 1aa2d8adf0cedb2ab1636e8eaff34cc3 libstdc++-v3/testsuite/20_util/time_point/arithmetic/constexpr.cc 60033a6a57c17396e8e0eb39a60e9d66 libstdc++-v3/testsuite/20_util/time_point/comparison_operators/constexpr.cc + 6a717e0cd922e4615aac13bc2eb0cf19 libstdc++-v3/testsuite/20_util/time_point/cons/81468.cc ba218f62ebce4ba5524d2ca5432b5b8d libstdc++-v3/testsuite/20_util/time_point/cons/constexpr.cc 1365690d2b358b63cc188d83cab0d034 libstdc++-v3/testsuite/20_util/time_point/nonmember/constexpr.cc a18741f9c6cacd98e3092c0587401ede libstdc++-v3/testsuite/20_util/time_point/requirements/constexpr_functions.cc *************** cc7363cc77e930f75be5bc245259ac42 libstd *** 68479,68484 **** --- 68809,68815 ---- cb3c5913d5dc19ec31de1eade2dbb4d1 libstdc++-v3/testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc 012fac89cc128f94a1b9c4e2d4dbb287 libstdc++-v3/testsuite/21_strings/basic_string/40160.cc 9875c0c91de119217560e134bf5eb67c libstdc++-v3/testsuite/21_strings/basic_string/56166.cc + d14332ab4e9c65bda2b0e92537308f76 libstdc++-v3/testsuite/21_strings/basic_string/79162.cc 6eb35c7350d131c88c2757f4bd647b21 libstdc++-v3/testsuite/21_strings/basic_string/allocator/71964.cc 47d69ef04170b6977105be196de7c754 libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy.cc cc75050846d6d14c30b69229cf5c88df libstdc++-v3/testsuite/21_strings/basic_string/allocator/char/copy_assign.cc *************** d505a67e8a6d0e0ad9175eb672bb5f6f libstd *** 68519,68524 **** --- 68850,68856 ---- f5da1e716eebc9cc85fca0e9c0a7258b libstdc++-v3/testsuite/21_strings/basic_string/cons/char/9.cc 8ef3d6460e56560496e282c49ae76b11 libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable.cc b51c1c92d7b3dc4ed705d0ef4ad3d6e5 libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2.cc + 24c34181d2ac75049923ff642567650c libstdc++-v3/testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc 777e9c5a230aa2d45e7c653f80e8c9d9 libstdc++-v3/testsuite/21_strings/basic_string/cons/char/noexcept_move_construct.cc d66c73c34cfb97f08e42bb7c4ea0e623 libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc bf1ad9a824d3abf212099174258945de libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc *************** cbbbabedcecccd44510ef377da5c3293 libstd *** 68533,68538 **** --- 68865,68871 ---- 7d22b0658735373d4bc76198dd8b24f7 libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/9.cc 313b21d61eaae2be3a7124aa8acdc7bc libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc a85694590fb56e0858e1067f23532abb libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc + 9dae37675bb2f8d447e7adbcf4a1e945 libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc eb421929dadc0eed331bd9d6775ca3b8 libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/noexcept_move_construct.cc 805be3df93b281abb4e40ac3291f4fe2 libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc 326d734ce143b7c14533a2c495e8523f libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc *************** dd309f6a38810cab1cd9735210e761a2 libstd *** 68578,68583 **** --- 68911,68917 ---- bb53821e7de4774cd5ae363edecb564f libstdc++-v3/testsuite/21_strings/basic_string/literals/types.cc 138c93dfc8ad4b52486eb467d1ee50d3 libstdc++-v3/testsuite/21_strings/basic_string/literals/values.cc 71394086535610c1fb76caa682f45c78 libstdc++-v3/testsuite/21_strings/basic_string/lwg2758.cc + 529f1b190dfda449a8c49fbc05cadb88 libstdc++-v3/testsuite/21_strings/basic_string/lwg2946.cc b0cf499d2c616c466343e93dd034cdfb libstdc++-v3/testsuite/21_strings/basic_string/modifiers/64422.cc 3ca192726706026ed4d4013c27e8e2f3 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/1.cc 25097734945e714451ab105fd05f6338 libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/2.cc *************** b31a6c6052e71e511bf29a0763ee7d08 libstd *** 68727,68751 **** 55cbf3db1c3c37d849318219c0686ab3 libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc 0a622a1e1eedcf0bbc224ba77eb3941b libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types.cc dc4bcd4611733da392e5d23761a70071 libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc ! fff54eb32e073121f1d07a530c5b4e57 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc ! 66d3d45a03babf0f52fbe0d38c58ad61 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc ! fd97a6b1c4ab069332ea66854407be4b libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc ! 93535bd81e2f123240e43f0a142d8a5e libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc ! b367b81abfb99a19b917aa79abc6971a libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/1.cc 0922a5006e85b7f17aca6f14782b6c15 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc ! b96668feaec51428962a07fb162a7d92 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc 887c0baef988b53271b8460548916d7b libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc b0d715054fde24681f7c69680f7cca9c libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc ffc05177a426035ed4161be9083d194e libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc b178593999d92cbe5e29f11ccb26422c libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/1.cc 0dab42efa58d63a01667ea2a23b61401 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc ! 1cce69b11df3551c75bfde72af429f26 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/1.cc ! 7f5708fc7266303f7533dea80f21ae23 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/2.cc ! 6d4b99e3e1c35de02ce22bbe635f641a libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/3.cc c8ab1d5a42235fbe208dfab794d42f2b libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/4.cc ! d8a71ecf161e4fdb4f807bc09b8413a6 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc ! 909cdee0dae63a4c8ea7193d92bc9258 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc ! 357f8b6f66bde0b09e47bb6d3b4c1874 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc 8db06707f8f2dfb65771032550db6e85 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc 74794bfc1ce1ff1599f8238afe4ed452 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc dcf23f2527e45764b4e90f2daf557816 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc --- 69061,69090 ---- 55cbf3db1c3c37d849318219c0686ab3 libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc 0a622a1e1eedcf0bbc224ba77eb3941b libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types.cc dc4bcd4611733da392e5d23761a70071 libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc ! 60f250d631dbfae277c72c6c9768c269 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc ! cba01fbf9914c7550ce11a6ece62f7ea libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc ! 1f3c39b0b63ffce6c7d0dd347c8110cd libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc ! e1eac545693ecb37ee100b7b9c8ab69f libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc ! 7573336cf6d89e6dfb2a47a6e875c063 libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc ! aad7e0d2e57cadd2a5eaba8217fa4d8e libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc ! 87bf64805c95ff2e5df9a807d8f6a404 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/1.cc 0922a5006e85b7f17aca6f14782b6c15 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc ! 41061ad2d1a88d9bd07fe6fba161d6a3 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/2.cc ! e2e91cc982b6c9f58bbb5010e2221924 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc ! b00a6b83717aa40a04cad256321df4c1 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc 887c0baef988b53271b8460548916d7b libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc + c22434b2b5c2fff6e7c940b0ff75e718 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc b0d715054fde24681f7c69680f7cca9c libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc ffc05177a426035ed4161be9083d194e libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc b178593999d92cbe5e29f11ccb26422c libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/1.cc 0dab42efa58d63a01667ea2a23b61401 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc ! 08e443ddd1c1933970521f05bdc5da05 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/1.cc ! bcc6ddfbb949cd0151b2a10724d99e7e libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/2.cc ! 417df4be99727b279875989933e0426a libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/3.cc c8ab1d5a42235fbe208dfab794d42f2b libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/4.cc ! c48c955a10321e014a115a435acaa514 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc ! 4e0f0a32812e95c381143bfdbccbe543 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc ! 55c558dbc311e72f20660f861c78b543 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc 8db06707f8f2dfb65771032550db6e85 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc 74794bfc1ce1ff1599f8238afe4ed452 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc dcf23f2527e45764b4e90f2daf557816 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc *************** ca81a48619b78d25db0d67d261cded7f libstd *** 68756,68765 **** 6a7eab056d368253046b1ae4a0cabf84 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc 43fe83b5a96bda0bc9df150f3c47e0ba libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/1.cc 71638fb4ac0f80b78387519750158eb9 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc ! 32d6c71e5f2624f8a3a463d9f939db10 libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/2.cc ! f9900a96e774026897fd6aad92b5b170 libstdc++-v3/testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc ! 0f4a6c9c4b6f2e6364d76a6009aabc3a libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc ! 469276ec6e6bf7650262b53fc9efea11 libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc 4f451226a4f356f2447db97e3697b897 libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc 66abd915aeb4662f014d6294e3f9ed38 libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc e7e9c452cdb811b4c5fe17eb993adc50 libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc --- 69095,69104 ---- 6a7eab056d368253046b1ae4a0cabf84 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc 43fe83b5a96bda0bc9df150f3c47e0ba libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/1.cc 71638fb4ac0f80b78387519750158eb9 libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc ! 7104cca52c6c6a9076122af255b6f67f libstdc++-v3/testsuite/21_strings/basic_string_view/operators/char/2.cc ! 2ab97edf19c09c17314ae78467413026 libstdc++-v3/testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc ! c55e12bad78c344a1ca62c49d297153d libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc ! a6f49ca62b781914f628c01bf48fccf7 libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc 4f451226a4f356f2447db97e3697b897 libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc 66abd915aeb4662f014d6294e3f9ed38 libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc e7e9c452cdb811b4c5fe17eb993adc50 libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc *************** bc147a543a17485fb07165306532c10c libstd *** 68785,68791 **** 8ad2151d1fafb891f1303177c543ab02 libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/65049.cc 8bf6bc125ece0144bd0cfc71118098c3 libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc d2b4056c380dbc13e3681c05f51182d0 libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc ! a758da66343fd5e71eaca2704b570b2b libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc 357da0798b56d7af4c752050a1e5a2a3 libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc 0dedcdbd77ad49ccb80ceeb5c5e19874 libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc a8acb01ba1fcffb49b74f99c91ffbbdf libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc --- 69124,69130 ---- 8ad2151d1fafb891f1303177c543ab02 libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/65049.cc 8bf6bc125ece0144bd0cfc71118098c3 libstdc++-v3/testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc d2b4056c380dbc13e3681c05f51182d0 libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions.cc ! 8342df89edd9c7c40032bfb5cc71d790 libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc 357da0798b56d7af4c752050a1e5a2a3 libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc 0dedcdbd77ad49ccb80ceeb5c5e19874 libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc a8acb01ba1fcffb49b74f99c91ffbbdf libstdc++-v3/testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc *************** d2bc3f8c91885415e28e4817348f3f23 libstd *** 68952,68957 **** --- 69291,69297 ---- e4f4339b407bd1cfbab4f687287f4c01 libstdc++-v3/testsuite/22_locale/collate_byname/requirements/typedefs.cc 9f04085016387b9cc9c7af8ed9d6ec9d libstdc++-v3/testsuite/22_locale/conversions/buffer/1.cc 3fbaa9f6bcbaf536b0e6d981761efdbd libstdc++-v3/testsuite/22_locale/conversions/buffer/2.cc + 4fd95587f2f6f96070aa8369f605054d libstdc++-v3/testsuite/22_locale/conversions/buffer/3.cc 5d1a8d50c2537b219e297b6e5c0e45ac libstdc++-v3/testsuite/22_locale/conversions/buffer/requirements/typedefs.cc 2bb93a6c156a7cd28eb148cdb2944110 libstdc++-v3/testsuite/22_locale/conversions/string/1.cc daa27b94b05a3b670d5666a2c3575dd9 libstdc++-v3/testsuite/22_locale/conversions/string/2.cc *************** dde3e6419372e0b9e1ab3ae9482425e4 libstd *** 69861,69866 **** --- 70201,70208 ---- 5ca5c0126b98755e2e32a441778a99fd libstdc++-v3/testsuite/23_containers/map/modifiers/insert/3.cc 90557eb2bc6d0f0c1c82d048d3efe698 libstdc++-v3/testsuite/23_containers/map/modifiers/insert/4.cc 07668e6a1eee40e497786c72d14389c4 libstdc++-v3/testsuite/23_containers/map/modifiers/insert/5.cc + 5be4db28776168365a3f01530ebc5db8 libstdc++-v3/testsuite/23_containers/map/modifiers/insert/83226.cc + 6c2c90c92edba30ad61881de7d942860 libstdc++-v3/testsuite/23_containers/map/modifiers/insert/dr2354.cc d6d6d82e9873bee150a9ed98743149e0 libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc d7cf4e5478be969ad93fe258fac5e8b1 libstdc++-v3/testsuite/23_containers/map/modifiers/merge.cc cf3c42ae6608e37f21add1601be39dee libstdc++-v3/testsuite/23_containers/map/modifiers/swap/1.cc *************** adc9e7d5774fee9801c4b539fdbd14bc libstd *** 69933,69938 **** --- 70275,70281 ---- 9afa4b5a796b4bf4b13cad08ce5c4ef4 libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc 012a217f1c58e47207c7ad9c9fa99084 libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/3.cc ebedf1934ae724c839bc938f16253add libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/4.cc + b17e02944400b5d2ebc916c1f616fcad libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/dr2354.cc 8f854b79c6dd407a07eb18155add225b libstdc++-v3/testsuite/23_containers/multimap/modifiers/merge.cc 148675a742dcbe1163d9c8b2055e0174 libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/1.cc af2bca319436082f5f44ea4174b09724 libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap/2.cc *************** f282f1377969f9130de41f4b49b2e8c4 libstd *** 70126,70131 **** --- 70469,70475 ---- a11ec0a2956a432436fc26ca7ab345d6 libstdc++-v3/testsuite/23_containers/unordered_map/allocator/swap.cc 7cfe1ec50c9528395c908e7f8567dade libstdc++-v3/testsuite/23_containers/unordered_map/cons/56112.cc 8c3741b52693e421292ab25b37a1b850 libstdc++-v3/testsuite/23_containers/unordered_map/cons/66055.cc + 1d872b0e1c61446b8ad22903c0cd61bc libstdc++-v3/testsuite/23_containers/unordered_map/cons/81891.cc 392f1203400337a5745a87a1f447117f libstdc++-v3/testsuite/23_containers/unordered_map/cons/moveable.cc ace9bc0a29f71d8022c923f6274153d9 libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc 8f7ea1b49697ada087fdc8549dd09039 libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc *************** c688ed13fac7152f4460d56cd16f8539 libstd *** 70166,70171 **** --- 70510,70516 ---- 46a60ab4fafaac21caab44f40ab76db9 libstdc++-v3/testsuite/23_containers/unordered_map/insert/57619.cc c4e784f731cfa1c98f6293b0f6d50295 libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax.cc 05ee19fa057aca02a74535f0a2151458 libstdc++-v3/testsuite/23_containers/unordered_map/insert/array_syntax_move.cc + c85ce0d5c5bcb5e7ee3ab775f5ec338e libstdc++-v3/testsuite/23_containers/unordered_map/insert/dr2354.cc c53226754368e3ccea9ed3032ca00626 libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_range.cc d01f7b62e141c25c6e0c45fa2c9fb6b7 libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single.cc e55764f0d9e6fd8c3324fd5229552392 libstdc++-v3/testsuite/23_containers/unordered_map/insert/map_single_move-1.cc *************** b25cf14677ebd23f0beb83651f61324f libstd *** 70252,70257 **** --- 70597,70603 ---- bc6af9625c24ee66257a14f41c48c751 libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/53115.cc fc0d8de2e0a4bd01e31dbe05d07abb3d libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/55028-debug.cc ebd5b5d9fe7d0db0f9988519625b4cd8 libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/57619.cc + b3e7ccfa5f85c32552dc825d845c9499 libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/dr2354.cc fb964737b362daea2fc3a11da7e3f8fc libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/hint.cc 430f645c0468342d3a70e4845944c3c3 libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_range.cc 919a94919683fa7e28150db7b14f3ad7 libstdc++-v3/testsuite/23_containers/unordered_multimap/insert/multimap_single.cc *************** b5b3d7daf6050ed5c0efa5064a56842a libstd *** 70621,70627 **** 4681e40e7076857002f66ec40a955a88 libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc 308769bfb6d9d2798403206f634d43c6 libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc b70e9a490c6605dc2d7fb7f1db22a477 libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc ! 9a61bf3a0f3cfa8a30b6fa2c0301f762 libstdc++-v3/testsuite/24_iterators/container_access.cc 08f78df85cfee1ce3a6a5c85d711f8a5 libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc 7295ea53945ab8ee2028c94766cadcbd libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc 8cce161795a37e35e27597d7b05d1c15 libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc --- 70967,70973 ---- 4681e40e7076857002f66ec40a955a88 libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/container.cc 308769bfb6d9d2798403206f634d43c6 libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/explicit_instantiation.cc b70e9a490c6605dc2d7fb7f1db22a477 libstdc++-v3/testsuite/24_iterators/back_insert_iterator/requirements/typedefs.cc ! 167caa8e5d0efebb37c42abbeaacdca4 libstdc++-v3/testsuite/24_iterators/container_access.cc 08f78df85cfee1ce3a6a5c85d711f8a5 libstdc++-v3/testsuite/24_iterators/front_insert_iterator/2.cc 7295ea53945ab8ee2028c94766cadcbd libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc 8cce161795a37e35e27597d7b05d1c15 libstdc++-v3/testsuite/24_iterators/front_insert_iterator/requirements/container.cc *************** fc6e750a0b31973347ecbd0f8100260f libstd *** 70673,70680 **** a3f863093c393a96e3babe9d4f5a6eca libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc 1ee73c1a4632426eb7b49586b3973a31 libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc 71834db3aa190afe1e26aef1b11b5353 libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc ! a47dec52b070d9f031055ac4968ef69a libstdc++-v3/testsuite/24_iterators/range_access.cc ! 66290f7e13d9a0627c0a19bece1b8112 libstdc++-v3/testsuite/24_iterators/range_access_cpp14.cc ce2fd005f113b32f8eec3f6e9dd5b456 libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc fe95b4473b24cb3ac6eb9418d798b954 libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc 0c3308060c757b4abef673568222944c libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc --- 71019,71027 ---- a3f863093c393a96e3babe9d4f5a6eca libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/requirements/typedefs.cc 1ee73c1a4632426eb7b49586b3973a31 libstdc++-v3/testsuite/24_iterators/random_access_iterator/26020.cc 71834db3aa190afe1e26aef1b11b5353 libstdc++-v3/testsuite/24_iterators/random_access_iterator/string_vector_iterators.cc ! 9c5cbedc6735580a14a1f0c987912801 libstdc++-v3/testsuite/24_iterators/range_access.cc ! 3479cf2c6ead3f097d6cde66e5e55558 libstdc++-v3/testsuite/24_iterators/range_access_cpp14.cc ! 4756d17c884267bc7d07cc2660c4b810 libstdc++-v3/testsuite/24_iterators/range_access_cpp17.cc ce2fd005f113b32f8eec3f6e9dd5b456 libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc fe95b4473b24cb3ac6eb9418d798b954 libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc 0c3308060c757b4abef673568222944c libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc *************** d44ee971413573894e8c5c4472175aa3 libstd *** 70704,70712 **** 3ecb8c5c743b895177f691a6785a4c20 libstdc++-v3/testsuite/25_algorithms/binary_search/partitioned.cc e70ad53cf01f0607950136ced88f9ec0 libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc 5cb7235e7636a99e92f55d03d6f97d81 libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc ! 56c8f11358511f16ab2d081c8f9cd442 libstdc++-v3/testsuite/25_algorithms/clamp/1.cc 74d66acd5a3dd5cc98e4d869e650f8e3 libstdc++-v3/testsuite/25_algorithms/clamp/2.cc ! 788f3c9b1550b80633aa37a41a16c627 libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc e7427101453ba6fc6e696ef68567ea27 libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc 39b867c7805bd8d84b60aa35089dd001 libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc 81d84f9ff3300bb33c2cab46b577c5b6 libstdc++-v3/testsuite/25_algorithms/copy/1.cc --- 71051,71059 ---- 3ecb8c5c743b895177f691a6785a4c20 libstdc++-v3/testsuite/25_algorithms/binary_search/partitioned.cc e70ad53cf01f0607950136ced88f9ec0 libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/2.cc 5cb7235e7636a99e92f55d03d6f97d81 libstdc++-v3/testsuite/25_algorithms/binary_search/requirements/explicit_instantiation/pod.cc ! 4f1527a16b482b686a179cfa126d478b libstdc++-v3/testsuite/25_algorithms/clamp/1.cc 74d66acd5a3dd5cc98e4d869e650f8e3 libstdc++-v3/testsuite/25_algorithms/clamp/2.cc ! be68fc8457ee930f2a62fe2fe0aad42d libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc e7427101453ba6fc6e696ef68567ea27 libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc 39b867c7805bd8d84b60aa35089dd001 libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc 81d84f9ff3300bb33c2cab46b577c5b6 libstdc++-v3/testsuite/25_algorithms/copy/1.cc *************** ab501dbdac8cac84c7de521289afba17 libstd *** 71182,71187 **** --- 71529,71535 ---- ec3abfb20fa1e262808837f3386432e9 libstdc++-v3/testsuite/26_numerics/complex/dr781.cc 694db00c1e6cb5b83a3e9ef2a2c2d589 libstdc++-v3/testsuite/26_numerics/complex/dr844.cc c9effb9a920490ce76926ce1ba420ad8 libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/1.cc + c245f0f3826eef03e178bb67d2d4888d libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/59568.cc 5e73f620e9932f4f7419e5dfb12731b6 libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc 6ed5e9e0e67c9c5a5db3a329cafd2c5c libstdc++-v3/testsuite/26_numerics/complex/literals/types.cc 4e85333440c610f6c75ddf4d70d32c33 libstdc++-v3/testsuite/26_numerics/complex/literals/values.cc *************** b83825aec598777328764def56e67ab4 libstd *** 71191,71198 **** 9ffbbf5da4ecba087c9e73939d3e6779 libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr.cc 10ce72d1ce4dd138d782dd75f9f86cbf libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc 8b138066aeb56dbfbc616613dc368cec libstdc++-v3/testsuite/26_numerics/complex/value_operations/dr387.cc ! e6768251c6d13d344b4d10629a0fdc30 libstdc++-v3/testsuite/26_numerics/gcd/1.cc ! 91bf936d04fefce925af01ab37cd3912 libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc e1880d4be8a98a5f3155db15bf410b33 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc f335005ba4b3ac34056dc7f049808377 libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc 573cdc62a0f7acbc013486a2af169b67 libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc --- 71539,71546 ---- 9ffbbf5da4ecba087c9e73939d3e6779 libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr.cc 10ce72d1ce4dd138d782dd75f9f86cbf libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc 8b138066aeb56dbfbc616613dc368cec libstdc++-v3/testsuite/26_numerics/complex/value_operations/dr387.cc ! 485ed4495efba90f0b8ac30578e544ae libstdc++-v3/testsuite/26_numerics/gcd/1.cc ! 036666956beff9e0426db8782eced734 libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc e1880d4be8a98a5f3155db15bf410b33 libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc f335005ba4b3ac34056dc7f049808377 libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc 573cdc62a0f7acbc013486a2af169b67 libstdc++-v3/testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc *************** ef1ba33336d31a21f557af82f8e50b4d libstd *** 71251,71258 **** c1fd38f085d843657ad00632f1f6c7dc libstdc++-v3/testsuite/26_numerics/iota/1.cc 16f2448215a73c877454bf918e5ed1eb libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc 3db465de3c7027c6385d1586e6535d63 libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc ! 340dbaf0a7ef2d3d88233cca18e37387 libstdc++-v3/testsuite/26_numerics/lcm/1.cc ! 119756efdc09d69bffe6f565a0108079 libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc 107b72e07b53a6fee1c614612c3e961a libstdc++-v3/testsuite/26_numerics/partial_sum/1.cc 57c6def19b6d42bfc3b7d8542ee94ba2 libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/2.cc f53ee71ce11ebbd5bc359228e6d9734d libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/pod.cc --- 71599,71606 ---- c1fd38f085d843657ad00632f1f6c7dc libstdc++-v3/testsuite/26_numerics/iota/1.cc 16f2448215a73c877454bf918e5ed1eb libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/2.cc 3db465de3c7027c6385d1586e6535d63 libstdc++-v3/testsuite/26_numerics/iota/requirements/explicit_instantiation/pod.cc ! f691092a0442e271cd590231ca765edd libstdc++-v3/testsuite/26_numerics/lcm/1.cc ! 2aba715ae616b44bd8314c2ef740bde5 libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc 107b72e07b53a6fee1c614612c3e961a libstdc++-v3/testsuite/26_numerics/partial_sum/1.cc 57c6def19b6d42bfc3b7d8542ee94ba2 libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/2.cc f53ee71ce11ebbd5bc359228e6d9734d libstdc++-v3/testsuite/26_numerics/partial_sum/requirements/explicit_instantiation/pod.cc *************** ea26e1d40cbc811d7147e0b79db83731 libstd *** 71700,71705 **** --- 72048,72054 ---- 6582c9c7e8066c30b8c55e193cada58f libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc 881d59f9706fccb5c63a05069362a535 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc cbe4feb08e13c848aa813fc475ede0ef libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc + de8671c3b5e1af4fcb70e531e2722720 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/81395.cc 0735278ca6f7d51e839542a4eae79bad libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc edb934205f853673c10d5a934d6f83d3 libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc b141a673c203526933621f5c47485176 libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc *************** f7f326c4f65620155071f375b262ef18 libstd *** 71764,71769 **** --- 72113,72119 ---- 9b9937a19f8deea32a6ee18661e2e136 libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc 4713c9c8f8d42295003d5a771b0d5b38 libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc 3ad8c41da13ad35001bb0655b6a2e701 libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc + 9e38cd88be90e8ec763de87e3b49dd0c libstdc++-v3/testsuite/27_io/basic_fstream/53984.cc 7ce18a5f2c75bce1ffd96c110c723714 libstdc++-v3/testsuite/27_io/basic_fstream/assign/1.cc 03f4619668a4607f538d6a90c290c32d libstdc++-v3/testsuite/27_io/basic_fstream/cons/1.cc 1fc10fceab89c42e970bc89801b45ee8 libstdc++-v3/testsuite/27_io/basic_fstream/cons/base.cc *************** a1cc8a09ea76999f08ff136019620a6f libstd *** 71793,71801 **** 9cf6d42fcd74a1665a7f562963c9d1ee libstdc++-v3/testsuite/27_io/basic_ios/conv/bool.cc e2c7984be9d78e8b06cd5357f27507f7 libstdc++-v3/testsuite/27_io/basic_ios/conv/bool_neg.cc 1fdeca20c77b392350b4b6546a5b94f4 libstdc++-v3/testsuite/27_io/basic_ios/conv/voidptr.cc ! bf8fc6742c230c6af782a279a41d7972 libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc a95d85e3144f9b1f3b000ec613e1f18b libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc ! cd82aa91fa61ed0ad2452c9873f2856f libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc ba104177be92d2a0f4d294141e6d4fd9 libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc 438f0eb2d554a99445792dafd362506f libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc 6b6dc36b079dde2cdb115aac96cb3e21 libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc --- 72143,72151 ---- 9cf6d42fcd74a1665a7f562963c9d1ee libstdc++-v3/testsuite/27_io/basic_ios/conv/bool.cc e2c7984be9d78e8b06cd5357f27507f7 libstdc++-v3/testsuite/27_io/basic_ios/conv/bool_neg.cc 1fdeca20c77b392350b4b6546a5b94f4 libstdc++-v3/testsuite/27_io/basic_ios/conv/voidptr.cc ! b004b6823e2973548a7dc6739683c822 libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc a95d85e3144f9b1f3b000ec613e1f18b libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc ! 616118496b0625a6e1d76999b82b7c89 libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc ba104177be92d2a0f4d294141e6d4fd9 libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc 438f0eb2d554a99445792dafd362506f libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc 6b6dc36b079dde2cdb115aac96cb3e21 libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc *************** b70b5488385833734b744f91efb3868f libstd *** 71824,71830 **** d2b6734aeb14cb9a97d5ad6e11c92d66 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc d026ba65fa8a50f71e3f55404fa3093e libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc 81974c983d69c97e576ea38f673066a3 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc ! 171d752081da3d9e60597c1f70f00747 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc 67c798b2ee414f868e0260ad74d18d9e libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc c10cbb39ae5b61c7905aea23b0b3e63f libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc ccf8fb66aa03606ba6a826504fb5e76f libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc --- 72174,72180 ---- d2b6734aeb14cb9a97d5ad6e11c92d66 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc d026ba65fa8a50f71e3f55404fa3093e libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc 81974c983d69c97e576ea38f673066a3 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc ! 33c15742b2de738970c3fcada4b0d03b libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc 67c798b2ee414f868e0260ad74d18d9e libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc c10cbb39ae5b61c7905aea23b0b3e63f libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc ccf8fb66aa03606ba6a826504fb5e76f libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc *************** f3f39f34218d8043e160c90d0c027ea9 libstd *** 71841,71847 **** 345c9b083d734f4973c3c3a6be0ff299 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc 099701248c50741261daccc1efeaf90d libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc 73295bab76b59277cb9851d3838345dd libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc ! 66c3dd6b9b0fe2fe9a66806664fe65db libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc 6847ae54dca4b4584d02d0bed3f37a83 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc 13dc474b89be9d3cb2253bbe1d2e88db libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc 63837a36ff85aa73ffc415e69c1cde93 libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc --- 72191,72197 ---- 345c9b083d734f4973c3c3a6be0ff299 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc 099701248c50741261daccc1efeaf90d libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc 73295bab76b59277cb9851d3838345dd libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc ! e1d2ad9049a78d75ef076d217b287d85 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc 6847ae54dca4b4584d02d0bed3f37a83 libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc 13dc474b89be9d3cb2253bbe1d2e88db libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc 63837a36ff85aa73ffc415e69c1cde93 libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc *************** f5d7db3328af2a762f613515325094de libstd *** 71868,71874 **** cf7dd3bfe4f8d0bed6bc1f3a3df7aafa libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc 2a97d0d83e95c6c97172345447e3d72a libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc 9db8c4b62ebfc6b32f48c0d3c2da6914 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc ! 0e971a4acd706675c043e64209a13547 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc a1e912a6abc538be6ed95139200f4e78 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc af7cc40c23417586fdef443dd4a520a0 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc 447ed7d54b5e3f6165d767ee9e8a3a8b libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc --- 72218,72224 ---- cf7dd3bfe4f8d0bed6bc1f3a3df7aafa libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc 2a97d0d83e95c6c97172345447e3d72a libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc 9db8c4b62ebfc6b32f48c0d3c2da6914 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc ! 8998790044ef744ef9dc1e86447ce0d5 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc a1e912a6abc538be6ed95139200f4e78 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc af7cc40c23417586fdef443dd4a520a0 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc 447ed7d54b5e3f6165d767ee9e8a3a8b libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc *************** def5c95e15606880584181943db2094a libstd *** 71881,71887 **** ca0a73e9e47a6b52977de20aa928b816 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc c2e9a1c1409ccd3fe4e0615a2512b69d libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc e50336ae6b201fcf8fe463bc120e32aa libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc ! 98490ae6bf7c199f33f819623c894014 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc d3196a2f01476ff40c8b4252e562f420 libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc c710e4017794d6697cc57e92ecae519e libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc 28214808aa4a650e0bac65b678cfe8fb libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc --- 72231,72237 ---- ca0a73e9e47a6b52977de20aa928b816 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc c2e9a1c1409ccd3fe4e0615a2512b69d libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc e50336ae6b201fcf8fe463bc120e32aa libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc ! bf40a04d9c256bfdd4b6579141e37893 libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc d3196a2f01476ff40c8b4252e562f420 libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc c710e4017794d6697cc57e92ecae519e libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc 28214808aa4a650e0bac65b678cfe8fb libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc *************** c67b6ac58e16a9040d78955ebd2a9e45 libstd *** 71948,71959 **** 9ba07bdc84308795a7ed8752e098f900 libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc cbbb96f8f6f3bb4d97fb06a0ef1b4e61 libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc 33e57e8d8c8e79678723e2f4568a0929 libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc ! f1662252ed2adbb4721671d4969559c8 libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc ce11198fe6ac3b266b1a35e24672cd94 libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc df75e99d93c7848f521f5cff3127c2cc libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc ea9fb8a42395013926e3648a05e86af6 libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc 744ae04a06db1139a9653e6de2b4b4f4 libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc ! cbcccec0a3d73d468e2892fa5b03c8e8 libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc 40e164ecc760d433ebd29932f0b01d2c libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc c2e523bec7effb0cc7aa6e80c978b855 libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc 3f86d71590eadb758d5e4fd030905491 libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc --- 72298,72310 ---- 9ba07bdc84308795a7ed8752e098f900 libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc cbbb96f8f6f3bb4d97fb06a0ef1b4e61 libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc 33e57e8d8c8e79678723e2f4568a0929 libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc ! fec4755b74fe2d740656fc564bd51222 libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc ce11198fe6ac3b266b1a35e24672cd94 libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc df75e99d93c7848f521f5cff3127c2cc libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc + f2fcdbb63f9588d1f62cd3c82414f648 libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/53984.cc ea9fb8a42395013926e3648a05e86af6 libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc 744ae04a06db1139a9653e6de2b4b4f4 libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc ! 99a436f05d02b3d0c13878354352f666 libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc 40e164ecc760d433ebd29932f0b01d2c libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc c2e523bec7effb0cc7aa6e80c978b855 libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc 3f86d71590eadb758d5e4fd030905491 libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc *************** d4d42629649beb2605d13c56b442173d libstd *** 72081,72087 **** 9a7551fa45bca64c8a1211195454ea3c libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc 89322e07fea6d663f2662d5c13239170 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc 713daedb1f91ab6968477c4c00163ca4 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc ! 2d03cfb44c17861a9699520b289051d9 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc d48be7cb40cbb7e1fea882d16d403a6f libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc 0a1233d41a3fa1440a97ffd262a00d8e libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc 138772424b09f06a1674463f99ea53aa libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc --- 72432,72438 ---- 9a7551fa45bca64c8a1211195454ea3c libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc 89322e07fea6d663f2662d5c13239170 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc 713daedb1f91ab6968477c4c00163ca4 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc ! 249ec6ec95a6053b6748d10d155ba046 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc d48be7cb40cbb7e1fea882d16d403a6f libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc 0a1233d41a3fa1440a97ffd262a00d8e libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc 138772424b09f06a1674463f99ea53aa libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc *************** e043b36ba67421f3031efad869e29afe libstd *** 72095,72101 **** 10fb6a77d8be8f69cbf3b1715b4ce24f libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc f40027137571aec3b015d0b5371b48a9 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc a63545ec825e05cb7153b6dc7b6c8d3e libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc ! ad0ce7d202ad6011984ea9d457dc3f47 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc faa02dd655e05d72456fffb66966455e libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc aa37f65270b8cc3df6289e6f17e76c03 libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc 471c7a1289aa40875909c581a45bcf6b libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc --- 72446,72452 ---- 10fb6a77d8be8f69cbf3b1715b4ce24f libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc f40027137571aec3b015d0b5371b48a9 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc a63545ec825e05cb7153b6dc7b6c8d3e libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc ! edec0bf78c31cbfd8c18e23876791b11 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc faa02dd655e05d72456fffb66966455e libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc aa37f65270b8cc3df6289e6f17e76c03 libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc 471c7a1289aa40875909c581a45bcf6b libstdc++-v3/testsuite/27_io/basic_ostream/requirements/base_classes.cc *************** f504e46636c41ff693534b7fd3642ba8 libstd *** 72262,72267 **** --- 72613,72619 ---- 9a1e2fe846fdc65cca2eed5ee15154ba libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc 86a31838192aa8fb02cd701511acf2cf libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc f9d9e65eec82d8ba903f79626e1b4309 libstdc++-v3/testsuite/27_io/basic_stringstream/assign/1.cc + 8b3a3bf8f7c278817217556de0401ea5 libstdc++-v3/testsuite/27_io/basic_stringstream/assign/81338.cc 9ff362b3372bd9ca0910c7f6cfe17b4e libstdc++-v3/testsuite/27_io/basic_stringstream/cons/2020.cc 87449105cc32edb526ef1b4087f2a29f libstdc++-v3/testsuite/27_io/basic_stringstream/cons/move.cc 24314453595bfccb286e49f7475e8957 libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc *************** c336289ddccab920a856e96810ae4d25 libstd *** 72326,72332 **** d379c99bed74b43ad7259f461e4538ac libstdc++-v3/testsuite/27_io/ios_base/state/1.cc 1690c6deb7e477136318c897f60bd9b2 libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc 875cbe67aa01d2cf265d719efaac5c99 libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc ! e6bacc5cd2f187b91dadd588ea77f7b7 libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc d58d7fe3808289362417a9dbaf18b33c libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc d7cc020076b0c67a379aeae4db14a13f libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc 4544a13542b43c8e1651d7b983374663 libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc --- 72678,72684 ---- d379c99bed74b43ad7259f461e4538ac libstdc++-v3/testsuite/27_io/ios_base/state/1.cc 1690c6deb7e477136318c897f60bd9b2 libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc 875cbe67aa01d2cf265d719efaac5c99 libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc ! fb891e57b47ab7878c3597d82f288810 libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc d58d7fe3808289362417a9dbaf18b33c libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc d7cc020076b0c67a379aeae4db14a13f libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc 4544a13542b43c8e1651d7b983374663 libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc *************** e7a32f176e8ff753b91b35b9ea4b64c6 libstd *** 72522,72527 **** --- 72874,72880 ---- 94d6d74e694e7f9249861cb579416473 libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string.cc 6eb46141aa2f6b3c6b7f2e7faab2ca15 libstdc++-v3/testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc e4c27095034800a082d72a80a58399b0 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/47724.cc + 74bec8544e256a4e7e3ee73b36ae3dd9 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/83598.cc dd63937b8c263de0a49ef7b0dcf84481 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/cstring.cc 59733bb8d3ec4c6a29c6db5dd0e9dfa3 libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/default.cc 1f2aed16200172a658646299e552350c libstdc++-v3/testsuite/28_regex/basic_regex/ctors/basic/iter.cc *************** cf84f51dceb646aa43c8b5f30b67a090 libstd *** 72571,72578 **** 12f2034ad29ae85c84858bbd1087026e libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc d5e6e6bc0d35d8d47a515a353c2012a5 libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc 37674e10d838b935f770f9de608f8363 libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc ! 2695f1d6ec2d031a4d27fec416589a8e libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc ! b1bbbc64a2c26711539a7bc8f27695e7 libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc 3fd49d353778f7abc7edcc205a532a25 libstdc++-v3/testsuite/28_regex/match_results/format.cc f94583058c8bbc9a647ec2ce6a8b566a libstdc++-v3/testsuite/28_regex/match_results/out_of_range_submatches.cc d61fcc5b293f68338fcfd0692c324f5b libstdc++-v3/testsuite/28_regex/match_results/swap.cc --- 72924,72931 ---- 12f2034ad29ae85c84858bbd1087026e libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc d5e6e6bc0d35d8d47a515a353c2012a5 libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/string_01.cc 37674e10d838b935f770f9de608f8363 libstdc++-v3/testsuite/28_regex/iterators/regex_token_iterator/wchar_t/wstring_02.cc ! 0ba4f8ebfb383f53a7755d6afad6ab93 libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc ! 410c99a09824f962af75b0aef6d4fe44 libstdc++-v3/testsuite/28_regex/match_results/ctors/wchar_t/default.cc 3fd49d353778f7abc7edcc205a532a25 libstdc++-v3/testsuite/28_regex/match_results/format.cc f94583058c8bbc9a647ec2ce6a8b566a libstdc++-v3/testsuite/28_regex/match_results/out_of_range_submatches.cc d61fcc5b293f68338fcfd0692c324f5b libstdc++-v3/testsuite/28_regex/match_results/swap.cc *************** effb65e81280e97c0030c80ceec53f19 libstd *** 72839,72845 **** 2bb5426e1f10e55b1e72c5e854b1160f libstdc++-v3/testsuite/30_threads/scoped_lock/cons/1.cc 82b2948da103296edc92d48e5d959d8e libstdc++-v3/testsuite/30_threads/scoped_lock/cons/deduction.cc 2c2097dc398b8f3887d62f81a4fcbb5e libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc ! 5ecbef86a088f76d3574f745abe2751a libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc 83a4057ce0f4727d109db357f0cf03dc libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc 90f8d175a9ceacae3ffc107e6ef10ec9 libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc d36990405f32eace14fcb10101368081 libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc --- 73192,73198 ---- 2bb5426e1f10e55b1e72c5e854b1160f libstdc++-v3/testsuite/30_threads/scoped_lock/cons/1.cc 82b2948da103296edc92d48e5d959d8e libstdc++-v3/testsuite/30_threads/scoped_lock/cons/deduction.cc 2c2097dc398b8f3887d62f81a4fcbb5e libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc ! 760aa261620aef4d3097e3a11d6f60fc libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc 83a4057ce0f4727d109db357f0cf03dc libstdc++-v3/testsuite/30_threads/shared_future/cons/assign.cc 90f8d175a9ceacae3ffc107e6ef10ec9 libstdc++-v3/testsuite/30_threads/shared_future/cons/constexpr.cc d36990405f32eace14fcb10101368081 libstdc++-v3/testsuite/30_threads/shared_future/cons/copy.cc *************** c5f9129674182bd3a977a3061e17c5c5 libstd *** 73147,73159 **** 7a4bd66bca69264e75c26ab457f71332 libstdc++-v3/testsuite/experimental/feat-lib-fund.cc 5c4bede25ef34c13c54460df7699d418 libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc 1072a3a58e3081a8f60218f090219cdb libstdc++-v3/testsuite/experimental/filesystem/iterators/pop.cc ! a081bfe825c4853eb3740773c6f647a7 libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc 2422a32ab8f4f55ba64bfc2713b4bb7d libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc 287ed7e886f224feba11a5038384a085 libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc 6f4be9c57cc9e27b9b1fbc5b6d38f84b libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc 857107ddd78b5be16aa089b0c0611000 libstdc++-v3/testsuite/experimental/filesystem/operations/copy_file.cc 3be6fae09b114812497ea5c8f2c84cf4 libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc ! 7e015e8677cb5ba075a2ca74042bc35e libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc f5ae4d86564d90a68e6c0981528c63de libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc bae119ed43aff58da15e985b9e433254 libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc e5368d29c38e946876e329f5bcf6ae20 libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc --- 73500,73512 ---- 7a4bd66bca69264e75c26ab457f71332 libstdc++-v3/testsuite/experimental/feat-lib-fund.cc 5c4bede25ef34c13c54460df7699d418 libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc 1072a3a58e3081a8f60218f090219cdb libstdc++-v3/testsuite/experimental/filesystem/iterators/pop.cc ! b0f9242b96f1c2e044bf777e5fda8bc4 libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc 2422a32ab8f4f55ba64bfc2713b4bb7d libstdc++-v3/testsuite/experimental/filesystem/operations/absolute.cc 287ed7e886f224feba11a5038384a085 libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc 6f4be9c57cc9e27b9b1fbc5b6d38f84b libstdc++-v3/testsuite/experimental/filesystem/operations/copy.cc 857107ddd78b5be16aa089b0c0611000 libstdc++-v3/testsuite/experimental/filesystem/operations/copy_file.cc 3be6fae09b114812497ea5c8f2c84cf4 libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc ! 852a1f92da334d4c6640044df2d07f2e libstdc++-v3/testsuite/experimental/filesystem/operations/create_directory.cc f5ae4d86564d90a68e6c0981528c63de libstdc++-v3/testsuite/experimental/filesystem/operations/create_symlink.cc bae119ed43aff58da15e985b9e433254 libstdc++-v3/testsuite/experimental/filesystem/operations/current_path.cc e5368d29c38e946876e329f5bcf6ae20 libstdc++-v3/testsuite/experimental/filesystem/operations/equivalent.cc *************** e5368d29c38e946876e329f5bcf6ae20 libstd *** 73163,73171 **** 82e062165b2edfaba0d3727e0ec6573c libstdc++-v3/testsuite/experimental/filesystem/operations/last_write_time.cc c8c3c10cfe4a4ec19105972449773ac5 libstdc++-v3/testsuite/experimental/filesystem/operations/permissions.cc 925d6f5727aa7e2b7176ac0362a32123 libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc ! 3e5f6f784b3d4bbfa19d8bcc5ee8686d libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc 670d520a087c857c6a69ed7c030610c6 libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc ! cf017c114649d91e9d2270b1b5fab628 libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc 3aa154dac714027477a6a8e51b297eb9 libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc 319823a8d325ff7f2b4c7dd6c887cf74 libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc 8aa651f76c9bdc43fc1cf0915ab08702 libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc --- 73516,73525 ---- 82e062165b2edfaba0d3727e0ec6573c libstdc++-v3/testsuite/experimental/filesystem/operations/last_write_time.cc c8c3c10cfe4a4ec19105972449773ac5 libstdc++-v3/testsuite/experimental/filesystem/operations/permissions.cc 925d6f5727aa7e2b7176ac0362a32123 libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc ! df350a2f65d9bbc779786eda2f6c877e libstdc++-v3/testsuite/experimental/filesystem/operations/remove.cc ! 3840d9d54ad2b3fd864459e22e9dbcfe libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc 670d520a087c857c6a69ed7c030610c6 libstdc++-v3/testsuite/experimental/filesystem/operations/status.cc ! 011b195de292dfdeabba072fd5d00062 libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc 3aa154dac714027477a6a8e51b297eb9 libstdc++-v3/testsuite/experimental/filesystem/path/append/path.cc 319823a8d325ff7f2b4c7dd6c887cf74 libstdc++-v3/testsuite/experimental/filesystem/path/assign/assign.cc 8aa651f76c9bdc43fc1cf0915ab08702 libstdc++-v3/testsuite/experimental/filesystem/path/assign/copy.cc *************** b3073ec2ae4fd8100e70991afae69485 libstd *** 73188,73194 **** 57f6431ae6b99ca7840959bf02cb0f02 libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc f0046ae27625d61b19d03a670e5d6c37 libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc 1b311722d4eaf7ade0a19c5e8997d73f libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc ! c3e13b5f0b12106b827c413f2050f7d9 libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc db6279f5f9ba88143d6dbebba77f0db4 libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc 325b2f5f159cd3e7f09ef52211d3f3da libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc 8d47355f6271cad214122194166744cb libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc --- 73542,73548 ---- 57f6431ae6b99ca7840959bf02cb0f02 libstdc++-v3/testsuite/experimental/filesystem/path/decompose/root_path.cc f0046ae27625d61b19d03a670e5d6c37 libstdc++-v3/testsuite/experimental/filesystem/path/decompose/stem.cc 1b311722d4eaf7ade0a19c5e8997d73f libstdc++-v3/testsuite/experimental/filesystem/path/generic/generic_string.cc ! 0374a0b6318365d94f283b668f4253b1 libstdc++-v3/testsuite/experimental/filesystem/path/itr/traversal.cc db6279f5f9ba88143d6dbebba77f0db4 libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/clear.cc 325b2f5f159cd3e7f09ef52211d3f3da libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/make_preferred.cc 8d47355f6271cad214122194166744cb libstdc++-v3/testsuite/experimental/filesystem/path/modifiers/remove_filename.cc *************** a25f5e6d7e7df25101ba8650c6b9e95c libstd *** 73352,73357 **** --- 73706,73712 ---- 0e70002b9f7c8702313f19fe235a8268 libstdc++-v3/testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/1.cc 4a5548c386de9a79cf74d3de2fa0858d libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/1.cc c876db0e1c772c31c78daaface50bc26 libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/13650.cc + d9a9105639faaad1b5d098de16c15ecb libstdc++-v3/testsuite/experimental/string_view/operations/compare/char/70483.cc 66e7b8bef07b155542920b750c65de59 libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/1.cc 8753b7512b2b6b78c2d7839ff7aa04b8 libstdc++-v3/testsuite/experimental/string_view/operations/compare/wchar_t/13650.cc 9a342f8a2ba46a0ca4a924ae2ae0611d libstdc++-v3/testsuite/experimental/string_view/operations/copy/char/1.cc *************** e43854bdd6c668b22e1d8d3e7225fb8d libstd *** 73676,73681 **** --- 74031,74038 ---- fe64e33af902c8be0253b3cbf79247e1 libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc deed2ed8f22730e083be25ea9e4e7376 libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc 0f404f6c145edb4bfb35d5a540c88673 libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc + 27988ec57765b6fad6dc4a46c6e8d093 libstdc++-v3/testsuite/ext/stdio_filebuf/char/79820.cc + a5b76ab5544142437a4202bcc0dcd2c0 libstdc++-v3/testsuite/ext/stdio_filebuf/char/81751.cc 4cbb2408b117cbec066927ae47f1f1cd libstdc++-v3/testsuite/ext/stdio_filebuf/requirements/explicit_instantiation.cc 22190ffa8c58a2849c14eff9784b95b7 libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc 548bb4c795219db223f95843d4505584 libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc *************** ead7378c068848783ee20a8f22dfa62b libstd *** 74660,74666 **** 534d202f4467aac0499eab3ddb5a842a libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags 7a2b83d2d625a4022b9213ceb75f5897 libtool.m4 ! ab2632fb9079d1ce3070fe05878c9aae libvtv/ChangeLog 2e04be12600367e07451f404a7fc1fa3 libvtv/Makefile.am b025f16ebe06ec16aa2957e5003533a0 libvtv/Makefile.in 4ce86f8604e6c86211a4cb2025ffc53e libvtv/acinclude.m4 --- 75017,75023 ---- 534d202f4467aac0499eab3ddb5a842a libstdc++-v3/testsuite/util/thread/all.h b950d655469c477755252b1e18009596 libtool-ldflags 7a2b83d2d625a4022b9213ceb75f5897 libtool.m4 ! 38266060135fc948746fe375a1694b92 libvtv/ChangeLog 2e04be12600367e07451f404a7fc1fa3 libvtv/Makefile.am b025f16ebe06ec16aa2957e5003533a0 libvtv/Makefile.in 4ce86f8604e6c86211a4cb2025ffc53e libvtv/acinclude.m4 *************** cd997674ad70ed883d545f2687b35af2 libvtv *** 74743,74749 **** 8f1b5ecc552ea50355dedd9334c68ffb libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 4e65f2f6a05f5eca82ba79c6363aa3db ltmain.sh ! 944d0fef494630c16e75576910cf8171 lto-plugin/ChangeLog 1d51b0f01f4db0f88d302ab0d691514e lto-plugin/Makefile.am 3bd8be597a6d5934a69399816aec878a lto-plugin/Makefile.in b8a21afb1f79664ea28d8892b4907746 lto-plugin/aclocal.m4 --- 75100,75106 ---- 8f1b5ecc552ea50355dedd9334c68ffb libvtv/vtv_utils.h 247597a3fcc5b5aa8bd923351c59d853 ltgcc.m4 4e65f2f6a05f5eca82ba79c6363aa3db ltmain.sh ! e847bdf01e4df948cd33c7f4af35e6d5 lto-plugin/ChangeLog 1d51b0f01f4db0f88d302ab0d691514e lto-plugin/Makefile.am 3bd8be597a6d5934a69399816aec878a lto-plugin/Makefile.in b8a21afb1f79664ea28d8892b4907746 lto-plugin/aclocal.m4 *************** dee72a6a60e99528b0d17bf3ff9a1e15 ltopti *** 74756,74762 **** bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! 4c99a91011133a08d6cf220461cdf66a maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README e70ffb6559f8817db41ee1e69bc60287 maintainer-scripts/branch_changer.py 36a1c429023c0a0c2f90889e6cf87125 maintainer-scripts/crontab --- 75113,75119 ---- bc2f6032c98896249eadb56177c7d357 ltsugar.m4 c30cd33c496505f13d9fbdb6970c7c33 ltversion.m4 293853a13b7e218e3a4342cf85fbbf25 lt~obsolete.m4 ! 0043f2b78dbc28d75762534df7293271 maintainer-scripts/ChangeLog 33c7bc2d2c55956dfac85a05d8a80eff maintainer-scripts/README e70ffb6559f8817db41ee1e69bc60287 maintainer-scripts/branch_changer.py 36a1c429023c0a0c2f90889e6cf87125 maintainer-scripts/crontab *************** fbe2467afef81c41c166173adeb0ee20 mkdep *** 74773,74779 **** cf2baa0854f564a7785307e79f155efc symlink-tree cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! 2efe87daf224bdfdcdff00388dee7b41 zlib/ChangeLog 2effeeacadeab8edd2c3c4ae856f019d zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ --- 75130,75136 ---- cf2baa0854f564a7785307e79f155efc symlink-tree cb06c1be6a41d68b0a65e0c1a91752bc ylwrap 03bf3ba8089f4bf475ef4035cf316a47 zlib/CMakeLists.txt ! e7d180c40ff69055fd507a71877d0ea2 zlib/ChangeLog 2effeeacadeab8edd2c3c4ae856f019d zlib/ChangeLog.gcj 0e9a37be8e3b85cc0ccf60504064c297 zlib/ChangeLog.jit b7a1991f01daea3efe108a215c5514a5 zlib/FAQ diff -Nrcpad gcc-7.2.0/NEWS gcc-7.3.0/NEWS *** gcc-7.2.0/NEWS Mon Aug 14 08:04:51 2017 --- gcc-7.3.0/NEWS Thu Jan 25 08:19:14 2018 *************** http://gcc.gnu.org/gcc-7/index.html *** 9,29 **** GCC 7 Release Series ! Aug 14, 2017 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 7.2. This release is a bug-fix release, containing fixes for regressions in ! GCC 7.1 relative to previous releases of GCC. Release History GCC 7.2 ! Aug 14, 2017 ([2]changes, [3]documentation) GCC 7.1 ! May 2, 2017 ([4]changes, [5]documentation) References and Acknowledgements --- 9,32 ---- GCC 7 Release Series ! Jan 25, 2018 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 7.3. This release is a bug-fix release, containing fixes for regressions in ! GCC 7.2 relative to previous releases of GCC. Release History + GCC 7.3 + Jan 25, 2018 ([2]changes, [3]documentation) + GCC 7.2 ! Aug 14, 2017 ([4]changes, [5]documentation) GCC 7.1 ! May 2, 2017 ([6]changes, [7]documentation) References and Acknowledgements *************** References and Acknowledgements *** 31,84 **** 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. For questions related to the use of GCC, please consult these web ! pages and the [12]GCC manuals. If that fails, the ! [13]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [14]gcc@gcc.gnu.org. All of [15]our lists have public archives. ! Copyright (C) [16]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [17]maintained by the GCC team. Last modified ! 2017-08-14[18]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-7/changes.html ! 3. http://gcc.gnu.org/onlinedocs/7.2.0/ 4. http://gcc.gnu.org/gcc-7/changes.html ! 5. http://gcc.gnu.org/onlinedocs/7.1.0/ ! 6. http://gcc.gnu.org/gcc-7/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. https://gcc.gnu.org/onlinedocs/ ! 13. mailto:gcc-help@gcc.gnu.org ! 14. mailto:gcc@gcc.gnu.org ! 15. https://gcc.gnu.org/lists.html ! 16. http://www.fsf.org/ ! 17. https://gcc.gnu.org/about.html ! 18. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-7/changes.html --- 34,89 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [8]successful builds is updated as new information becomes available. The GCC developers would like to thank the numerous people that have contributed new features, improvements, bug fixes, and other changes as ! well as test results to GCC. This [9]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [10]GCC ! project web site or contact the [11]GCC development mailing list. ! To obtain GCC please use [12]our mirror sites or [13]our SVN server. For questions related to the use of GCC, please consult these web ! pages and the [14]GCC manuals. If that fails, the ! [15]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [16]gcc@gcc.gnu.org. All of [17]our lists have public archives. ! Copyright (C) [18]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [19]maintained by the GCC team. Last modified ! 2018-01-25[20]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-7/changes.html ! 3. http://gcc.gnu.org/onlinedocs/7.3.0/ 4. http://gcc.gnu.org/gcc-7/changes.html ! 5. http://gcc.gnu.org/onlinedocs/7.2.0/ ! 6. http://gcc.gnu.org/gcc-7/changes.html ! 7. http://gcc.gnu.org/onlinedocs/7.1.0/ ! 8. http://gcc.gnu.org/gcc-7/buildstat.html ! 9. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 10. http://gcc.gnu.org/index.html ! 11. mailto:gcc@gcc.gnu.org ! 12. http://gcc.gnu.org/mirrors.html ! 13. http://gcc.gnu.org/svn.html ! 14. https://gcc.gnu.org/onlinedocs/ ! 15. mailto:gcc-help@gcc.gnu.org ! 16. mailto:gcc@gcc.gnu.org ! 17. https://gcc.gnu.org/lists.html ! 18. http://www.fsf.org/ ! 19. https://gcc.gnu.org/about.html ! 20. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-7/changes.html *************** const int* get_address (unsigned idx) *** 906,911 **** --- 911,941 ---- * Support for the RISC-V instruction set has been added. + RX + + Basic support for atomic built-in function has been added. It is + currently implemented by flipping interrupts off and on as needed. + + SH + + * Support for SH5/SH64 has been removed. + * Improved utilization of delay slots on SH2A. + * Improved utilization of zero-displacement conditional branches. + * The following deprecated options have been removed + + -mcbranchdi + + -mcmpeqdi + + -minvalid-symbols + + -msoft-atomic + + -mspace + + -madjust-unroll + * Support for the following SH2A instructions has been added + + mov.b @-Rm,R0 + + mov.w @-Rm,R0 + + mov.l @-Rm,R0 + + mov.b R0,@Rn+ + + mov.w R0,@Rn+ + + mov.l R0,@Rn+ + SPARC * The SPARC port now uses LRA by default. *************** GCC 7.2 *** 1076,1095 **** * Support for 64-bit PowerPC using the ELFv2 ABI with 64-bit long double has been added. For questions related to the use of GCC, please consult these web ! pages and the [25]GCC manuals. If that fails, the ! [26]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [27]gcc@gcc.gnu.org. All of [28]our lists have public archives. ! Copyright (C) [29]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [30]maintained by the GCC team. Last modified ! 2017-08-04[31]. References --- 1106,1138 ---- * Support for 64-bit PowerPC using the ELFv2 ABI with 64-bit long double has been added. + GCC 7.3 + + This is the [25]list of problem reports (PRs) from GCC's bug tracking + system that are known to be fixed in the 7.3 release. This list might + not be complete (that is, it is possible that some PRs that have been + fixed are not listed here). + + Operating Systems + + RTEMS + + * Support has been added for Epiphany target. + For questions related to the use of GCC, please consult these web ! pages and the [26]GCC manuals. If that fails, the ! [27]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [28]gcc@gcc.gnu.org. All of [29]our lists have public archives. ! Copyright (C) [30]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [31]maintained by the GCC team. Last modified ! 2018-01-23[32]. References *************** References *** 1117,1129 **** 22. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gccint/RTL-Tests.html 23. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.0 24. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.2 ! 25. https://gcc.gnu.org/onlinedocs/ ! 26. mailto:gcc-help@gcc.gnu.org ! 27. mailto:gcc@gcc.gnu.org ! 28. https://gcc.gnu.org/lists.html ! 29. http://www.fsf.org/ ! 30. https://gcc.gnu.org/about.html ! 31. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-6/index.html --- 1160,1173 ---- 22. https://gcc.gnu.org/onlinedocs/gcc-7.1.0/gccint/RTL-Tests.html 23. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.0 24. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.2 ! 25. https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=7.3 ! 26. https://gcc.gnu.org/onlinedocs/ ! 27. mailto:gcc-help@gcc.gnu.org ! 28. mailto:gcc@gcc.gnu.org ! 29. https://gcc.gnu.org/lists.html ! 30. http://www.fsf.org/ ! 31. https://gcc.gnu.org/about.html ! 32. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-6/index.html *************** http://gcc.gnu.org/gcc-5/index.html *** 1946,1972 **** GCC 5 Release Series ! June 3, 2016 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 5.4. This release is a bug-fix release, containing fixes for regressions in ! GCC 5.3 relative to previous releases of GCC. Release History GCC 5.4 ! June 3, 2016 ([2]changes, [3]documentation) GCC 5.3 ! December 4, 2015 ([4]changes, [5]documentation) GCC 5.2 ! July 16, 2015 ([6]changes, [7]documentation) GCC 5.1 ! April 22, 2015 ([8]changes, [9]documentation) References and Acknowledgements --- 1990,2019 ---- GCC 5 Release Series ! October 10, 2017 The [1]GNU project and the GCC developers are pleased to announce the ! release of GCC 5.5. This release is a bug-fix release, containing fixes for regressions in ! GCC 5.4 relative to previous releases of GCC. Release History + GCC 5.5 + October 10, 2017 ([2]changes, [3]documentation) + GCC 5.4 ! June 3, 2016 ([4]changes, [5]documentation) GCC 5.3 ! December 4, 2015 ([6]changes, [7]documentation) GCC 5.2 ! July 16, 2015 ([8]changes, [9]documentation) GCC 5.1 ! April 22, 2015 ([10]changes, [11]documentation) References and Acknowledgements *************** References and Acknowledgements *** 1974,2031 **** supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [10]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 [11]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [12]GCC ! project web site or contact the [13]GCC development mailing list. ! To obtain GCC please use [14]our mirror sites or [15]our SVN server. 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. Comments on these web pages and the development of GCC are welcome on our developer ! list at [18]gcc@gcc.gnu.org. All of [19]our lists have public archives. ! Copyright (C) [20]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [21]maintained by the GCC team. Last modified ! 2016-06-03[22]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-5/changes.html ! 3. http://gcc.gnu.org/onlinedocs/5.4.0/ 4. http://gcc.gnu.org/gcc-5/changes.html ! 5. http://gcc.gnu.org/onlinedocs/5.3.0/ 6. http://gcc.gnu.org/gcc-5/changes.html ! 7. http://gcc.gnu.org/onlinedocs/5.2.0/ 8. http://gcc.gnu.org/gcc-5/changes.html ! 9. http://gcc.gnu.org/onlinedocs/5.1.0/ ! 10. http://gcc.gnu.org/gcc-5/buildstat.html ! 11. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 12. http://gcc.gnu.org/index.html ! 13. mailto:gcc@gcc.gnu.org ! 14. http://gcc.gnu.org/mirrors.html ! 15. http://gcc.gnu.org/svn.html ! 16. https://gcc.gnu.org/onlinedocs/ ! 17. mailto:gcc-help@gcc.gnu.org ! 18. mailto:gcc@gcc.gnu.org ! 19. https://gcc.gnu.org/lists.html ! 20. http://www.fsf.org/ ! 21. https://gcc.gnu.org/about.html ! 22. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-5/changes.html --- 2021,2080 ---- supports several other languages aside from C, it now stands for the GNU Compiler Collection. ! A list of [12]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 [13]amazing group of volunteers is what makes GCC successful. ! For additional information about GCC please refer to the [14]GCC ! project web site or contact the [15]GCC development mailing list. ! To obtain GCC please use [16]our mirror sites or [17]our SVN server. For questions related to the use of GCC, please consult these web ! pages and the [18]GCC manuals. If that fails, the ! [19]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [20]gcc@gcc.gnu.org. All of [21]our lists have public archives. ! Copyright (C) [22]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [23]maintained by the GCC team. Last modified ! 2017-10-10[24]. References 1. http://www.gnu.org/ 2. http://gcc.gnu.org/gcc-5/changes.html ! 3. http://gcc.gnu.org/onlinedocs/5.5.0/ 4. http://gcc.gnu.org/gcc-5/changes.html ! 5. http://gcc.gnu.org/onlinedocs/5.4.0/ 6. http://gcc.gnu.org/gcc-5/changes.html ! 7. http://gcc.gnu.org/onlinedocs/5.3.0/ 8. http://gcc.gnu.org/gcc-5/changes.html ! 9. http://gcc.gnu.org/onlinedocs/5.2.0/ ! 10. http://gcc.gnu.org/gcc-5/changes.html ! 11. http://gcc.gnu.org/onlinedocs/5.1.0/ ! 12. http://gcc.gnu.org/gcc-5/buildstat.html ! 13. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html ! 14. http://gcc.gnu.org/index.html ! 15. mailto:gcc@gcc.gnu.org ! 16. http://gcc.gnu.org/mirrors.html ! 17. http://gcc.gnu.org/svn.html ! 18. https://gcc.gnu.org/onlinedocs/ ! 19. mailto:gcc-help@gcc.gnu.org ! 20. mailto:gcc@gcc.gnu.org ! 21. https://gcc.gnu.org/lists.html ! 22. http://www.fsf.org/ ! 23. https://gcc.gnu.org/about.html ! 24. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-5/changes.html *************** Target Specific Changes *** 2882,2888 **** not be complete (that is, it is possible that some PRs that have been fixed are not listed here). ! (Pending) GCC 5.5 This is the [44]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 5.5 release. This list might --- 2931,2937 ---- not be complete (that is, it is possible that some PRs that have been fixed are not listed here). ! GCC 5.5 This is the [44]list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 5.5 release. This list might *************** Target Specific Changes *** 2909,2915 **** provided this notice is preserved. These pages are [51]maintained by the GCC team. Last modified ! 2017-03-12[52]. References --- 2958,2964 ---- provided this notice is preserved. These pages are [51]maintained by the GCC team. Last modified ! 2017-10-10[52]. References *************** New Languages and Language specific impr *** 16134,16149 **** Ada ! [7]Ada Core Technologies, Inc, has contributed its GNAT Ada 95 front ! end and associated tools. The GNAT compiler fully implements the Ada ! language as defined by the ISO/IEC 8652 standard. Please note that the integration of the Ada front end is still work in progress. New Targets and Target Specific Improvements ! * Hans-Peter Nilsson has contributed a port to [8]MMIX, the CPU architecture used in new editions of Donald E. Knuth's The Art of Computer Programming. * Axis Communications has contributed its port to the CRIS CPU --- 16183,16198 ---- Ada ! [7]AdaCore, has contributed its GNAT Ada 95 front end and associated ! tools. The GNAT compiler fully implements the Ada language as defined ! by the ISO/IEC 8652 standard. Please note that the integration of the Ada front end is still work in progress. New Targets and Target Specific Improvements ! * Hans-Peter Nilsson has contributed a port to MMIX, the CPU architecture used in new editions of Donald E. Knuth's The Art of Computer Programming. * Axis Communications has contributed its port to the CRIS CPU *************** Documentation improvements *** 16276,16293 **** For questions related to the use of GCC, please consult these web ! pages and the [9]GCC manuals. If that fails, the ! [10]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [11]gcc@gcc.gnu.org. All of [12]our lists have public archives. ! Copyright (C) [13]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [14]maintained by the GCC team. Last modified ! 2017-01-29[15]. References --- 16325,16342 ---- For questions related to the use of GCC, please consult these web ! pages and the [8]GCC manuals. If that fails, the ! [9]gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer ! list at [10]gcc@gcc.gnu.org. All of [11]our lists have public archives. ! Copyright (C) [12]Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ! These pages are [13]maintained by the GCC team. Last modified ! 2017-12-10[14]. References *************** References *** 16297,16311 **** 4. http://gcc.gnu.org/c99status.html 5. https://gcc.gnu.org/onlinedocs/libstdc++/faq.html 6. https://gcc.gnu.org/onlinedocs/gcc-3.1.1/g77/News.html ! 7. http://www.adacore.com/ ! 8. http://www-cs-faculty.stanford.edu/~uno/mmix.html ! 9. https://gcc.gnu.org/onlinedocs/ ! 10. mailto:gcc-help@gcc.gnu.org ! 11. mailto:gcc@gcc.gnu.org ! 12. https://gcc.gnu.org/lists.html ! 13. http://www.fsf.org/ ! 14. https://gcc.gnu.org/about.html ! 15. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/index.html --- 16346,16359 ---- 4. http://gcc.gnu.org/c99status.html 5. https://gcc.gnu.org/onlinedocs/libstdc++/faq.html 6. https://gcc.gnu.org/onlinedocs/gcc-3.1.1/g77/News.html ! 7. https://www.adacore.com/ ! 8. https://gcc.gnu.org/onlinedocs/ ! 9. mailto:gcc-help@gcc.gnu.org ! 10. mailto:gcc@gcc.gnu.org ! 11. https://gcc.gnu.org/lists.html ! 12. http://www.fsf.org/ ! 13. https://gcc.gnu.org/about.html ! 14. http://validator.w3.org/check/referer ====================================================================== http://gcc.gnu.org/gcc-3.0/index.html diff -Nrcpad gcc-7.2.0/config/ChangeLog gcc-7.3.0/config/ChangeLog *** gcc-7.2.0/config/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/config/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/contrib/ChangeLog gcc-7.3.0/contrib/ChangeLog *** gcc-7.2.0/contrib/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/contrib/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,11 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2017-10-02 Thomas Schwinge + + * gcc_update (files_and_dependencies): Handle libbacktrace. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/contrib/gcc_update gcc-7.3.0/contrib/gcc_update *** gcc-7.2.0/contrib/gcc_update Wed Jan 25 15:38:01 2017 --- gcc-7.3.0/contrib/gcc_update Mon Oct 2 11:58:11 2017 *************** liboffloadmic/configure: liboffloadmic/c *** 172,177 **** --- 172,181 ---- liboffloadmic/plugin/aclocal.m4: liboffloadmic/plugin/configure.ac liboffloadmic/plugin/Makefile.in: liboffloadmic/plugin/Makefile.am liboffloadmic/plugin/configure: liboffloadmic/plugin/configure.ac + libbacktrace/aclocal.m4: libbacktrace/configure.ac + libbacktrace/Makefile.in: libbacktrace/Makefile.am libbacktrace/aclocal.m4 + libbacktrace/configure: libbacktrace/configure.ac libbacktrace/aclocal.m4 + libbacktrace/config.h.in: libbacktrace/configure.ac libbacktrace/aclocal.m4 # Top level Makefile.in: Makefile.tpl Makefile.def configure: configure.ac config/acx.m4 diff -Nrcpad gcc-7.2.0/contrib/header-tools/ChangeLog gcc-7.3.0/contrib/header-tools/ChangeLog *** gcc-7.2.0/contrib/header-tools/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/contrib/header-tools/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/contrib/reghunt/ChangeLog gcc-7.3.0/contrib/reghunt/ChangeLog *** gcc-7.2.0/contrib/reghunt/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/contrib/reghunt/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/contrib/regression/ChangeLog gcc-7.3.0/contrib/regression/ChangeLog *** gcc-7.2.0/contrib/regression/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/contrib/regression/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/fixincludes/ChangeLog gcc-7.3.0/fixincludes/ChangeLog *** gcc-7.2.0/fixincludes/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/fixincludes/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/BASE-VER gcc-7.3.0/gcc/BASE-VER *** gcc-7.2.0/gcc/BASE-VER Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/BASE-VER Thu Jan 25 08:17:27 2018 *************** *** 1 **** ! 7.2.0 --- 1 ---- ! 7.3.0 diff -Nrcpad gcc-7.2.0/gcc/ChangeLog gcc-7.3.0/gcc/ChangeLog *** gcc-7.2.0/gcc/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,2057 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2018-01-23 Eric Botcazou + + PR rtl-optimization/81443 + * rtlanal.c (num_sign_bit_copies1) : Do not propagate results + from inner REGs to paradoxical SUBREGs. + + 2018-01-21 Bill Schmidt + + Backport from mainline + 2018-01-21 Bill Schmidt + David Edelsohn + + PR target/83946 + * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv): + Change "crset eq" to "crset 2". + (*call_value_indirect_nonlocal_sysv): Likewise. + (*call_indirect_aix_nospec): Likewise. + (*call_value_indirect_aix_nospec): Likewise. + (*call_indirect_elfv2_nospec): Likewise. + (*call_value_indirect_elfv2_nospec): Likewise. + (*sibcall_nonlocal_sysv): Change "crset eq" to "crset 2"; + change assembly output from . to $. + (*sibcall_value_nonlocal_sysv): Likewise. + (indirect_jump_nospec): Change assembly output from . to $. + (*tablejump_internal1_nospec): Likewise. + + 2018-01-21 Oleg Endo + + Backport from mainline + 2018-01-21 Oleg Endo + + PR target/80870 + * config/sh/sh_optimize_sett_clrt.cc: + Use INCLUDE_ALGORITHM and INCLUDE_VECTOR instead of direct includes. + + 2018-01-17 Bill Schmidt + + Backport from mainline + 2018-01-16 Bill Schmidt + + * config/rs6000/rs6000.c (rs6000_opt_vars): Add entry for + -mspeculate-indirect-jumps. + * config/rs6000/rs6000.md (*call_indirect_elfv2): Disable + for -mno-speculate-indirect-jumps. + (*call_indirect_elfv2_nospec): New define_insn. + (*call_value_indirect_elfv2): Disable for + -mno-speculate-indirect-jumps. + (*call_value_indirect_elfv2_nospec): New define_insn. + (indirect_jump): Emit different RTL for + -mno-speculate-indirect-jumps. + (*indirect_jump): Disable for + -mno-speculate-indirect-jumps. + (*indirect_jump_nospec): New define_insn. + (tablejump): Emit different RTL for + -mno-speculate-indirect-jumps. + (tablejumpsi): Disable for -mno-speculate-indirect-jumps. + (tablejumpsi_nospec): New define_expand. + (tablejumpdi): Disable for -mno-speculate-indirect-jumps. + (tablejumpdi_nospec): New define_expand. + (*tablejump_internal1): Disable for + -mno-speculate-indirect-jumps. + (*tablejump_internal1_nospec): New define_insn. + * config/rs6000/rs6000.opt (mspeculate-indirect-jumps): New + option. + + Backport from mainline + 2018-01-17 Bill Schmidt + + * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv): + Generate different code for -mno-speculate-indirect-jumps. + (*call_value_indirect_nonlocal_sysv): Likewise. + (*call_indirect_aix): Disable for + -mno-speculate-indirect-jumps. + (*call_indirect_aix_nospec): New define_insn. + (*call_value_indirect_aix): Disable for + -mno-speculate-indirect-jumps. + (*call_value_indirect_aix_nospec): New define_insn. + (*sibcall_nonlocal_sysv): Generate different code for + -mno-speculate-indirect-jumps. + (*sibcall_value_nonlocal_sysv): Likewise. + + 2018-01-17 Richard Biener + + Backport from mainline + 2017-12-18 Richard Biener + + PR tree-optimization/81877 + * tree-ssa-loop-im.c (ref_indep_loop_p): Remove safelen parameters. + (outermost_indep_loop): Adjust. + (ref_indep_loop_p_1): Likewise. Remove safelen handling again. + (can_sm_ref_p): Adjust. + + 2017-12-08 Richard Biener + + PR middle-end/81782 + * tree-ssa-uninit.c (warn_uninitialized_vars): Properly + handle accesses outside of zero-sized vars. + + 2018-01-17 Kyrylo Tkachov + + Backport from mailine + 2018-01-15 Kyrylo Tkachov + + PR target/83687 + * config/arm/iterators.md (VF): New mode iterator. + * config/arm/neon.md (neon_vabd_2): Use the above. + Remove integer-related logic from pattern. + (neon_vabd_3): Likewise. + + 2018-01-17 Martin Liska + + Backport from mainline + 2018-01-04 Martin Liska + + PR ipa/82352 + * ipa-icf.c (sem_function::merge): Do not cross comdat boundary. + + 2018-01-17 Martin Liska + + Backport from mainline + 2018-01-03 Martin Liska + + PR ipa/83549 + * cif-code.def (VARIADIC_THUNK): New enum value. + * ipa-inline-analysis.c (compute_inline_parameters): + Do not inline variadic thunks. + + 2018-01-17 Martin Liska + + Backport from mainline + 2017-12-27 Martin Liska + + PR tree-optimization/83552 + * tree-ssa-strlen.c (fold_strstr_to_strncmp): Assign result + of get_string_lenth to a SSA_NAME if not a GIMPLE value. + + 2018-01-16 Segher Boessenkool + + Backport from mainline + 2017-12-18 Segher Boessenkool + + PR rtl-optimization/83424 + * rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET. + + 2018-01-16 H.J. Lu + + * config/i386/i386.c (ix86_expand_prologue): Don't use reference + of struct ix86_frame. + (ix86_expand_epilogue): Likewise. + + 2018-01-16 H.J. Lu + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow + -mcmodel=large with -mindirect-branch=thunk, + -mindirect-branch=thunk-extern, -mfunction-return=thunk and + -mfunction-return=thunk-extern. + * doc/invoke.texi: Document -mcmodel=large is incompatible with + -mindirect-branch=thunk, -mindirect-branch=thunk-extern, + -mfunction-return=thunk and -mfunction-return=thunk-extern. + + 2018-01-16 H.J. Lu + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386.c (print_reg): Print the name of the full + integer register without '%'. + (ix86_print_operand): Handle 'V'. + * doc/extend.texi: Document 'V' modifier. + + 2018-01-16 H.J. Lu + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/predicates.md (indirect_branch_operand): Rewrite + ix86_indirect_branch_register logic. + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/constraints.md (Bs): Update + ix86_indirect_branch_register check. Don't check + ix86_indirect_branch_register with GOT_memory_operand. + (Bw): Likewise. + * config/i386/predicates.md (GOT_memory_operand): Don't check + ix86_indirect_branch_register here. + (GOT32_symbol_operand): Likewise. + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/predicates.md (constant_call_address_operand): + Rewrite ix86_indirect_branch_register logic. + (sibcall_insn_operand): Likewise. + + Backport from mainline + 2018-01-15 H.J. Lu + + * config/i386/constraints.md (Bs): Replace + ix86_indirect_branch_thunk_register with + ix86_indirect_branch_register. + (Bw): Likewise. + * config/i386/i386.md (indirect_jump): Likewise. + (tablejump): Likewise. + (*sibcall_memory): Likewise. + (*sibcall_value_memory): Likewise. + Peepholes of indirect call and jump via memory: Likewise. + * config/i386/i386.opt: Likewise. + * config/i386/predicates.md (indirect_branch_operand): Likewise. + (GOT_memory_operand): Likewise. + (call_insn_operand): Likewise. + (sibcall_insn_operand): Likewise. + (GOT32_symbol_operand): Likewise. + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/constraints.md (Bs): Disallow memory operand for + -mindirect-branch-register. + (Bw): Likewise. + * config/i386/predicates.md (indirect_branch_operand): Likewise. + (GOT_memory_operand): Likewise. + (call_insn_operand): Likewise. + (sibcall_insn_operand): Likewise. + (GOT32_symbol_operand): Likewise. + * config/i386/i386.md (indirect_jump): Call convert_memory_address + for -mindirect-branch-register. + (tablejump): Likewise. + (*sibcall_memory): Likewise. + (*sibcall_value_memory): Likewise. + Disallow peepholes of indirect call and jump via memory for + -mindirect-branch-register. + (*call_pop): Replace m with Bw. + (*call_value_pop): Likewise. + (*sibcall_pop_memory): Replace m with Bs. + * config/i386/i386.opt (mindirect-branch-register): New option. + * doc/invoke.texi: Document -mindirect-branch-register option. + + 2018-01-16 H.J. Lu + + Backport from mainline + 2018-01-15 H.J. Lu + + PR target/83839 + * config/i386/i386.c (output_indirect_thunk_function): Use + ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO + for __x86.return_thunk. + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386-protos.h (ix86_output_function_return): New. + * config/i386/i386.c (ix86_set_indirect_branch_type): Also + set function_return_type. + (indirect_thunk_name): Add ret_p to indicate thunk for function + return. + (output_indirect_thunk_function): Pass false to + indirect_thunk_name. + (ix86_output_indirect_branch_via_reg): Likewise. + (ix86_output_indirect_branch_via_push): Likewise. + (output_indirect_thunk_function): Create alias for function + return thunk if regno < 0. + (ix86_output_function_return): New function. + (ix86_handle_fndecl_attribute): Handle function_return. + (ix86_attribute_table): Add function_return. + * config/i386/i386.h (machine_function): Add + function_return_type. + * config/i386/i386.md (simple_return_internal): Use + ix86_output_function_return. + (simple_return_internal_long): Likewise. + * config/i386/i386.opt (mfunction-return=): New option. + (indirect_branch): Mention -mfunction-return=. + * doc/extend.texi: Document function_return function attribute. + * doc/invoke.texi: Document -mfunction-return= option. + + 2018-01-16 H.J. Lu + + Backport from mainline + 2018-01-14 H.J. Lu + + * config/i386/i386-opts.h (indirect_branch): New. + * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. + * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone + with local indirect jump when converting indirect call and jump. + (ix86_set_indirect_branch_type): New. + (ix86_set_current_function): Call ix86_set_indirect_branch_type. + (indirectlabelno): New. + (indirect_thunk_needed): Likewise. + (indirect_thunk_bnd_needed): Likewise. + (indirect_thunks_used): Likewise. + (indirect_thunks_bnd_used): Likewise. + (INDIRECT_LABEL): Likewise. + (indirect_thunk_name): Likewise. + (output_indirect_thunk): Likewise. + (output_indirect_thunk_function): Likewise. + (ix86_output_indirect_branch_via_reg): Likewise. + (ix86_output_indirect_branch_via_push): Likewise. + (ix86_output_indirect_branch): Likewise. + (ix86_output_indirect_jmp): Likewise. + (ix86_code_end): Call output_indirect_thunk_function if needed. + (ix86_output_call_insn): Call ix86_output_indirect_branch if + needed. + (ix86_handle_fndecl_attribute): Handle indirect_branch. + (ix86_attribute_table): Add indirect_branch. + * config/i386/i386.h (machine_function): Add indirect_branch_type + and has_local_indirect_jump. + * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump + to true. + (tablejump): Likewise. + (*indirect_jump): Use ix86_output_indirect_jmp. + (*tablejump_1): Likewise. + (simple_return_indirect_internal): Likewise. + * config/i386/i386.opt (mindirect-branch=): New option. + (indirect_branch): New. + (keep): Likewise. + (thunk): Likewise. + (thunk-inline): Likewise. + (thunk-extern): Likewise. + * doc/extend.texi: Document indirect_branch function attribute. + * doc/invoke.texi: Document -mindirect-branch= option. + + 2018-01-16 Richard Biener + + Backport from mainline + 2017-09-29 Vladimir Makarov + + PR target/81481 + * ira-costs.c (scan_one_insn): Don't take into account PIC equiv + with a symbol for LRA. + + 2018-01-15 Segher Boessenkool + + Backport from mainline + 2018-01-10 Segher Boessenkool + + PR target/83629 + * config/rs6000/rs6000.md (load_toc_v4_PIC_2, load_toc_v4_PIC_3b, + load_toc_v4_PIC_3c): Wrap const term in CONST RTL. + + 2018-01-15 H.J. Lu + + Backport from mainline + PR target/83330 + * config/i386/i386.c (ix86_function_arg_advance): Set + outgoing_args_on_stack to true if there are outgoing arguments + on stack. + (ix86_function_arg): Likewise. + (ix86_compute_frame_layout): Align stack frame if argument is + passed on stack. + * config/i386/i386.h (machine_function): Add + outgoing_args_on_stack. + + 2018-01-15 H.J. Lu + + Backport from mainline + * config/i386/i386.c (ix86_expand_prologue): Use reference of + struct ix86_frame. + (ix86_expand_epilogue): Likewise. + + 2018-01-15 H.J. Lu + + Backport from mainline + 2017-11-06 H.J. Lu + + * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference + of struct ix86_frame. + (ix86_initial_elimination_offset): Likewise. + (ix86_expand_split_stack_prologue): Likewise. + + 2018-01-15 H.J. Lu + + Backport from mainline + 2017-06-01 Bernd Edlinger + + * config/i386/i386.c (ix86_frame): Moved to ... + * config/i386/i386.h (ix86_frame): Here. + (machine_function): Add frame. + * config/i386/i386.c (ix86_compute_frame_layout): Repace the + frame argument with &cfun->machine->frame. + (ix86_can_use_return_insn_p): Don't pass &frame to + ix86_compute_frame_layout. Copy frame from cfun->machine->frame. + (ix86_can_eliminate): Likewise. + (ix86_expand_prologue): Likewise. + (ix86_expand_epilogue): Likewise. + (ix86_expand_split_stack_prologue): Likewise. + + 2018-01-14 Bill Schmidt + + Backport from mainline + 2018-01-08 Bill Schmidt + + PR target/83677 + * config/rs6000/altivec.md (*altivec_vpermr__internal): + Reverse order of second and third operands in first alternative. + * config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order + of first and second elements in UNSPEC_VPERMR vector. + (altivec_expand_vec_perm_le): Likewise. + + 2018-01-14 Uros Bizjak + + Backport from mainline + 2018-01-12 Uros Bizjak + + PR target/83628 + * config/alpha/alpha.md (*saddsi_1): New insn_ans_split pattern. + (*saddl_se_1): Ditto. + (*ssubsi_1): Ditto. + (*ssubl_se_1): Ditto. + + Backport from mainline + 2018-01-09 Uros Bizjak + + PR target/83628 + * combine.c (force_int_to_mode) : Use mode instead of + op_mode in the force_to_mode call. + + 2018-01-12 Oleg Endo + + Backport from mainline + 2018-01-12 Oleg Endo + + PR target/81819 + * config/rx/rx.c (rx_is_restricted_memory_address): + Handle SUBREG case. + + 2018-01-12 Eric Botcazou + + PR rtl-optimization/83565 + * rtlanal.c (nonzero_bits1): On WORD_REGISTER_OPERATIONS machines, do + not extend the result to a larger mode for rotate operations. + (num_sign_bit_copies1): Likewise. + + 2018-01-12 Rainer Orth + + Backport from mainline + 2018-01-04 Rainer Orth + + PR bootstrap/81926 + * cgraphunit.c (symbol_table::compile): Switch to text_section + before calling assembly_start debug hook. + + 2018-01-11 Oleg Endo + + Backport from mainline + 2018-01-11 Oleg Endo + + PR target/81821 + * config/rx/rx.md (BW): New mode attribute. + (sync_lock_test_and_setsi): Add mode suffix to insn output. + + 2018-01-09 Richard Biener + + Backport from mainline + 2018-01-08 Richard Biener + + PR middle-end/83713 + * convert.c (do_narrow): Properly guard TYPE_OVERFLOW_WRAPS checks. + + 2018-01-08 Jim Wilson + + Backport from mainline + 2018-01-08 Monk Chiang + Kito Cheng + + * config/riscv/riscv.c (machine_function::is_leaf): Remove field. + (riscv_leaf_function_p): Delete. + (riscv_function_ok_for_sibcall): Return false when TARGET_SAVE_RESTORE. + + 2018-01-08 Kyrylo Tkachov + + Backport from mainline + 2017-12-20 Kyrylo Tkachov + + PR target/82975 + * config/arm/arm.h (TEST_REGNO): Adjust comment as expected in r255830. + + 2018-01-08 Sebastian Huber + + Backported from mainline + 2018-01-05 Sebastian Huber + + * config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration. + * config/epiphany/rtems.h: New file. + + 2018-01-04 Uros Bizjak + + PR target/83628 + * config/alpha/alpha.md (*sadd): Use ASHIFT + instead of MULT rtx. Update all corresponding splitters. + (*saddl_se): Ditto. + (*ssub): Ditto. + (*ssubl_se): Ditto. + (*cmp_sadd_di): Update split patterns. + (*cmp_sadd_si): Ditto. + (*cmp_sadd_sidi): Ditto. + (*cmp_ssub_di): Ditto. + (*cmp_ssub_si): Ditto. + (*cmp_ssub_sidi): Ditto. + * config/alpha/predicates.md (const23_operand): New predicate. + * config/alpha/alpha.c (alpha_rtx_costs) [PLUS, MINUS]: + Look for ASHIFT, not MULT inner operand. + (alpha_split_conditional_move): Update for *sadd change. + + 2018-01-02 Andrew Waterman + + * config/riscv/linux.h (ICACHE_FLUSH_FUNC): New. + * config/riscv/riscv.md (clear_cache): Use it. + + 2018-01-01 Jakub Jelinek + + PR middle-end/83608 + * expr.c (store_expr_with_bounds): Use simplify_gen_subreg instead of + convert_modes if target mode has the right side, but different mode + class. + + PR middle-end/83609 + * expr.c (expand_assignment): Fix up a typo in simplify_gen_subreg + last argument when extracting from CONCAT. If either from_real or + from_imag is NULL, use expansion through memory. If result is not + a CONCAT and simplify_gen_subreg fails, try to simplify_gen_subreg + the parts directly to inner mode, if even that fails, use expansion + through memory. + + PR middle-end/83623 + * expmed.c (expand_shift_1): For 2-byte rotates by BITS_PER_UNIT, + check for bswap in mode rather than HImode and use that in expand_unop + too. + + 2017-12-23 Jakub Jelinek + + PR c++/83553 + * fold-const.c (struct contains_label_data): New type. + (contains_label_1): Return non-NULL even for CASE_LABEL_EXPR, unless + inside of a SWITCH_BODY seen during the walk. + (contains_label_p): Use walk_tree instead of + walk_tree_without_duplicates, prepare data for contains_label_1 and + provide own pset. + + 2017-12-22 Martin Jambor + + PR lto/82027 + * lto-cgraph.c (output_cgraph_opt_summary_p): Also check former + clones. + + 2017-12-22 Jakub Jelinek + + Backported from mainline + 2017-12-21 Jakub Jelinek + + PR c/83448 + * gimple-ssa-sprintf.c (maybe_warn): Don't call set_caret_index + if navail is >= dir.len. + + PR rtl-optimization/80747 + PR rtl-optimization/83512 + * cfgrtl.c (force_nonfallthru_and_redirect): When splitting + succ edge from ENTRY, copy partition from e->dest to the newly + created bb. + * bb-reorder.c (reorder_basic_blocks_simple): If last_tail is + ENTRY, use BB_PARTITION of its successor block as current_partition. + Don't copy partition when splitting succ edge from ENTRY. + + PR tree-optimization/83523 + * tree-ssa-math-opts.c (is_widening_mult_p): Return false if + for INTEGER_TYPE TYPE_OVERFLOW_TRAPS. + (convert_mult_to_fma): Likewise. + + PR tree-optimization/83521 + * tree-ssa-phiopt.c (factor_out_conditional_conversion): Use + gimple_build_assign without code on result of + fold_build1 (VIEW_CONVERT_EXPR, ...), as it might not create + a VIEW_CONVERT_EXPR. + + 2017-12-19 Jakub Jelinek + + PR ipa/82801 + PR ipa/83346 + * ipa-inline.c (flatten_remove_node_hook): New function. + (ipa_inline): Keep only nodes with flatten attribute at the end of + the array in the order from ipa_reverse_postorder, only walk that + portion of array for flattening, if there is more than one such + node, temporarily register a removal hook and ignore removed nodes. + + 2017-12-21 Uros Bizjak + + PR target/83467 + * config/i386/i386.md (*ashl3_mask): Add operand + constraints to operand 2. + (*3_mask): Ditto. + (*3_mask): Ditto. + + 2017-12-19 Bin Cheng + + Backport from mainline + 2017-11-15 Bin Cheng + + PR tree-optimization/82726 + PR tree-optimization/70754 + * tree-predcom.c (order_drefs_by_pos): New function. + (combine_chains): Move code setting has_max_use_after to... + (try_combine_chains): ...here. New parameter. Sort combined chains + according to position information. + (tree_predictive_commoning_loop): Update call to above function. + (update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New. + + 2017-11-15 Bin Cheng + + PR tree-optimization/82726 + Revert + 2017-01-23 Bin Cheng + + PR tree-optimization/70754 + * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE. + (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert + combined stmt before it if not NULL. + (combine_chains): Process refs reversely and compute dominance point + for root ref. + + Revert + 2017-02-23 Bin Cheng + + PR tree-optimization/79663 + * tree-predcom.c (combine_chains): Process refs in reverse order + only for ZERO length chains, and add explaining comment. + + 2017-12-19 Sebastian Huber + + Backport from mainline + 2017-12-19 Sebastian Huber + + PR target/83387 + * config/rs6000/t-rtems (MULTILIB_REQUIRED): Remove 64-bit soft-float + multilib. + + 2017-12-19 Daniel Cederman + + Backport from mainline + 2017-12-19 Daniel Cederman + + * config/sparc/sparc.c (sparc_do_work_around_errata): Make sure + the jump is to a label. + + 2017-12-17 John David Anglin + + Backport from mainline + 2017-12-03 John David Anglin + + * config/pa/pa.c (pa_legitimate_address_p): For scaled indexing, + require base operand is a REG_POINTER prior to reload on targets + with non-equivalent space registers. + + 2017-12-15 Jakub Jelinek + + PR tree-optimization/83269 + * fold-const.c (fold_binary_loc): Perform (-A) - B -> (-B) - A + subtraction in arg0's type if type is signed and arg0 is unsigned. + Formatting fix. + + Backported from mainline + 2017-12-14 Jakub Jelinek + + PR tree-optimization/83198 + * gimple-ssa-sprintf.c (format_floating): Set type solely based on + dir.modifier, regardless of TREE_TYPE (arg). Assume non-REAL_CST + value if arg is a REAL_CST with incompatible type. + + 2017-12-12 Jakub Jelinek + + PR tree-optimization/80631 + * tree-vect-loop.c (get_initial_def_for_reduction): Fix comment typo. + (vect_create_epilog_for_reduction): Add INDUC_VAL argument, for + INTEGER_INDUC_COND_REDUCTION use INDUC_VAL instead of + hardcoding zero as the value if COND_EXPR is never true. For + INTEGER_INDUC_COND_REDUCTION don't emit the final COND_EXPR if + INDUC_VAL is equal to INITIAL_DEF. + (vectorizable_reduction): Compute INDUC_VAL for + vect_create_epilog_for_reduction, if no value is suitable, don't + use INTEGER_INDUC_COND_REDUCTION for now. Formatting fixes. + + 2017-12-08 Joseph Myers + Alexander Monakov + Jakub Jelinek + + PR target/81906 + * config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math. + + 2017-12-02 Jakub Jelinek + + PR c++/81212 + * tree-cfg.c (pass_warn_function_return::execute): Handle + __builtin_ubsan_handle_missing_return like __builtin_unreachable + with BUILTINS_LOCATION. + + PR target/78643 + PR target/80583 + * expr.c (get_inner_reference): If DECL_MODE of a non-bitfield + is BLKmode for vector field with vector raw mode, use TYPE_MODE + instead of DECL_MODE. + + 2017-11-29 Jakub Jelinek + + PR target/80819 + * config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm) + alternative. + + 2017-11-25 Jakub Jelinek + + PR rtl-optimization/81553 + * combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z) + to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP + is a shift where C1 has different mode than the whole shift, use C1's + mode for MULT rather than the shift's mode. + + 2017-11-24 Jakub Jelinek + + PR sanitizer/83014 + * ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer + instead of pp_printf with HOST_WIDE_INT_PRINT_DEC. Avoid calling + tree_to_uhwi twice. + + * tree-object-size.c (pass_through_call): Do not handle + BUILT_IN_STPNCPY_CHK which is not a pass through call. + + 2017-11-23 Jakub Jelinek + + PR middle-end/82253 + * expr.c (expand_assignment): For CONCAT to_rtx, complex type from and + bitpos/bitsize covering the whole destination, use store_expr only if + the complex mode is the same. Otherwise, use expand_normal and if + it returns CONCAT, subreg each part separately instead of trying to + subreg the whole result. + + 2017-11-22 Jakub Jelinek + + PR debug/83084 + * valtrack.c (propagate_for_debug_subst, propagate_for_debug): Reset + debug insns if they would contain UNSPEC_VOLATILE or volatile asm. + (dead_debug_insert_temp): Likewise, but also ignore even non-volatile + asm. + + 2017-11-21 James Cowgill + Jakub Jelinek + + PR target/82880 + * config/mips/frame-header-opt.c (mips_register_frame_header_opt): + Remove static keyword from f variable. + + 2017-12-15 Richard Biener + + PR bootstrap/83439 + * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): + Adjust remaining gimple_set_modified to use the modified + variable instead. + + 2017-12-15 Eric Botcazou + + PR target/66488 + * ggc-page.c (HOST_BITS_PER_PTR): Do not define here... + * hwint.h (HOST_BITS_PER_PTR): ...but here instead. + * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete. + + 2017-12-15 Richard Biener + + Backport from mainline + PR tree-optimization/82060 + * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): + Move devirtualization after stmt folding and before EH/AB/noreturn + cleanup to get the stmt refs canonicalized. Use a bool instead + of gimple_modified_p since that doesn't work for NOPs. Schedule + NOPs generated by folding for removal. + + 2017-12-15 Richard Biener + + Backport from mainline + 2017-09-05 Richard Biener + + PR tree-optimization/82102 + * tree-ssa-pre.c (eliminate): Check if lhs is NULL. + + 2017-09-13 Richard Biener + + PR middle-end/82128 + * gimple-fold.c (gimple_fold_call): Update SSA name in-place to + default-def to avoid breaking iterator update with the weird + interaction with cgraph_update_edges_for_call_stmt_node. + + 2017-12-15 Richard Biener + + Backport from mainline + 2017-11-24 Richard Biener + + PR tree-optimization/82402 + * tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly + set SSA_NAME_OCCURS_IN_ABNORMAL_PHI. + + 2017-10-24 Richard Biener + + PR tree-optimization/82697 + * tree-ssa-phiopt.c (cond_store_replacement): Use alias-set + zero for conditional load and unconditional store. + + 2017-11-02 Richard Biener + + PR middle-end/82765 + * varasm.c (decode_addr_const): Make offset HOST_WIDE_INT. + Truncate ARRAY_REF index and element size. + + 2017-11-09 Richard Biener + + PR tree-optimization/82902 + * tree-ssa-phiprop.c (propagate_with_phi): Test proper type. + + 2017-12-14 Peter Bergner + + Backport from mainline + 2017-10-02 Peter Bergner + + PR target/80210 + * config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite + function to not use the have_cpu variable. Do not set cpu_index, + rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT + or the default cpu. + (rs6000_valid_attribute_p): Remove duplicate initializations of + old_optimize and func_optimize. + (rs6000_pragma_target_parse): Call rs6000_activate_target_options (). + (rs6000_activate_target_options): Make global. + * config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add + prototype. + + 2017-12-13 Peter Bergner + + Backport from mainline + 2017-12-13 Peter Bergner + + * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define. + * config/rs6000/rs6000.c (cpu_supports_info): Use it. + + 2017-12-11 Michael Meissner + + Back port from trunk + 2017-12-01 Michael Meissner + + PR target/81959 + * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for + whether we can allocate pseudos before trying to fix an address. + * config/rs6000/rs6000.md (float_si2_hw): Make sure the + memory address is indexed or indirect. + (floatuns_si2_hw2): Likewise. + + 2017-12-11 Sudakshina Das + + Backported from trunk + 2017-12-01 Sudakshina Das + + * config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute. + + 2017-12-07 Kelvin Nilsen + + Backport from trunk + 2017-05-08 Kelvin Nilsen + + PR target/80101 + * config/rs6000/power6.md: Replace store_data_bypass_p calls with + rs6000_store_data_bypass_p in seven define_bypass directives and + in several comments. + * config/rs6000/rs6000-protos.h: Add prototype for + rs6000_store_data_bypass_p function. + * config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New + function implements slightly different (rs6000-specific) semantics + than store_data_bypass_p, returning false rather than aborting + with assertion error when arguments do not satisfy the + requirements of store data bypass. + (rs6000_adjust_cost): Replace six calls of store_data_bypass_p with + rs6000_store_data_bypass_p. + + 2017-12-06 Eric Botcazou + + Revert + 2017-11-29 Martin Aberg + + * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length + to prevent b2bst errata sequence. + (sqrtdf2_fix): Likewise. + + 2017-12-05 Max Filippov + + Backport from mainline + 2017-12-05 Max Filippov + * config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New + function. + (TARGET_ASAN_SHADOW_OFFSET): New macro definition. + * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if + ASAN is enabled. + + 2017-12-05 Max Filippov + + Backport from mainline + 2017-05-08 Max Filippov + * config/xtensa/xtensa-protos.h + (xtensa_initial_elimination_offset): New declaration. + * config/xtensa/xtensa.c (xtensa_initial_elimination_offset): + New function. Move its body from the INITIAL_ELIMINATION_OFFSET + macro definition, add case for FRAME_POINTER_REGNUM when + FRAME_GROWS_DOWNWARD. + * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): New macro + definition. + (INITIAL_ELIMINATION_OFFSET): Replace body with call to + xtensa_initial_elimination_offset. + + 2017-12-04 Eric Botcazou + + * config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref + instead of MEM_P in a couple more places. Fix formatting issues. + + 2017-12-04 Sebastian Peryt + H.J. Lu + + Bakcported from trunk + PR target/82941 + PR target/82942 + PR target/82990 + * config/i386/i386.c (pass_insert_vzeroupper): Remove + TARGET_AVX512F check from gate condition. + (ix86_check_avx256_register): Changed to ... + (ix86_check_avx_upper_register): ... this. Add extra check for + VALID_AVX512F_REG_OR_XI_MODE. + (ix86_avx_u128_mode_needed): Changed + ix86_check_avx256_register to ix86_check_avx_upper_register. + (ix86_check_avx256_stores): Changed to ... + (ix86_check_avx_upper_stores): ... this. Changed + ix86_check_avx256_register to ix86_check_avx_upper_register. + (ix86_avx_u128_mode_after): Changed + avx_reg256_found to avx_upper_reg_found. Changed + ix86_check_avx256_stores to ix86_check_avx_upper_stores. + (ix86_avx_u128_mode_entry): Changed + ix86_check_avx256_register to ix86_check_avx_upper_register. + (ix86_avx_u128_mode_exit): Ditto. + (ix86_option_override_internal): Set MASK_VZEROUPPER if + neither -mzeroupper nor -mno-zeroupper is used and + TARGET_EMIT_VZEROUPPER is set. + * config/i386/i386.h: (host_detect_local_cpu): New define. + (TARGET_EMIT_VZEROUPPER): New. + * config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER + + 2017-12-01 Segher Boessenkool + + Backport from mainline + 2017-11-28 Segher Boessenkool + + PR 81288/target + * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle + TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. + + 2017-11-30 Jim Wilson + + Backport from mainline + 2017-11-30 Jim Wilson + * doc/invoke.texi (RISC-V Options): Delete nonexistent -mmemcpy and + -mno-memcpy options. For -mplt, -mfdiv, -mdiv, -msave-restore, and + -mstrict-align, add info on default value. Delete redundant lines for + -mabi. Add missing -mexplicit-relocs docs. + + Backport from mainline + 2017-11-01 Palmer Dabbelt + * doc/invoke.texi (RISC-V Options): Use "@minus{}2 GB", not "-2 GB". + * doc/invoke.texi (RISC-V Options): Explicitly name the medlow + and medany code models, and describe what they do. + + 2017-10-27 Palmer Dabbelt + PR target/82717 + * doc/invoke.texi (RISC-V) <-mabi>: Correct and improve. + + 2017-11-29 Martin Jambor + + PR ipa/82808 + * tree.c (expr_type_first_operand_type_p): New function. + * tree.h (expr_type_first_operand_type_p): Declare it. + * ipa-cp.c (ipa_get_jf_pass_through_result): Use it. + + 2017-11-29 Daniel Cederman + + * config/sparc/sparc.c (sparc_do_work_around_errata): Treat the + movsi_pic_gotdata_op instruction as a load for the UT699 errata + workaround. + + 2017-11-29 Martin Aberg + + * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length + to prevent b2bst errata sequence. + (sqrtdf2_fix): Likewise. + + 2017-11-29 Daniel Cederman + + * config/sparc/sparc.c (fpop_reg_depend_p): New function. + (div_sqrt_insn_p): New function. + (sparc_do_work_around_errata): Insert NOP instructions to + prevent sequences that could trigger the TN-0013 errata for + certain LEON3 processors. + (pass_work_around_errata::gate): Also test sparc_fix_lost_divsqrt. + (sparc_option_override): Set sparc_fix_lost_divsqrt appropriately. + * config/sparc/sparc.md (fix_lost_divsqrt): New attribute. + (in_branch_delay): Prevent div and sqrt in delay slot if + fix_lost_divsqrt. + * config/sparc/sparc.opt (sparc_fix_lost_divsqrt): New variable. + + 2017-11-29 Daniel Cederman + + * config/sparc/sparc.c (atomic_insn_p): New function. + (sparc_do_work_around_errata): Insert NOP instructions to + prevent sequences that could trigger the TN-0010 errata for + UT700. + * config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make + instruction referable in atomic_insns_p. + + 2017-11-29 Daniel Cederman + + * config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc. + (atomic_compare_and_swap_leon3_1): Likewise. + (ldstub): Likewise. + + 2017-11-29 Daniel Cederman + + * config/sparc/sparc.c (fpop_insn_p): New function. + (sparc_do_work_around_errata): Insert NOP instructions to + prevent sequences that could trigger the TN-0012 errata for + GR712RC. + (pass_work_around_errata::gate): Also test sparc_fix_gr712rc. + * config/sparc/sparc.md (fix_gr712rc): New attribute. + (in_branch_annul_delay): Prevent floating-point instructions + in delay slot of annulled integer branch. + + 2017-11-28 Jim Wilson + + Backport from mainline + 2017-11-04 Andrew Waterman + + * config/riscv/riscv.c (riscv_option_override): Conditionally set + TARGET_STRICT_ALIGN based upon -mtune argument. + + Backport from mainline + 2017-05-04 Andrew Waterman + + * config/riscv/riscv.opt (mstrict-align): New option. + * config/riscv/riscv.h (STRICT_ALIGNMENT): Use it. Update comment. + (SLOW_UNALIGNED_ACCESS): Define. + (riscv_slow_unaligned_access): Declare. + * config/riscv/riscv.c (riscv_tune_info): Add slow_unaligned_access + field. + (riscv_slow_unaligned_access): New variable. + (rocket_tune_info): Set slow_unaligned_access to true. + (optimize_size_tune_info): Set slow_unaligned_access to false. + (riscv_cpu_info_table): Add entry for optimize_size_tune_info. + (riscv_valid_lo_sum_p): Use TARGET_STRICT_ALIGN. + (riscv_option_override): Set riscv_slow_unaligned_access. + * doc/invoke.texi: Add -mstrict-align to RISC-V. + + Backport from mainline + 2017-11-07 Michael Clark + + * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define. + (MUSL_DYNAMIC_LINKER): Likewise. + + 2017-11-27 Jim Wilson + + Backport from mainline + 2017-10-25 Palmer Dabbelt + + * config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define. + * config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s, + mark as a sign-extending load. + (local_pic_load_u): Define. + + Backport from mainline + 2017-11-03 Kito Cheng + + * config/riscv/riscv.c (riscv_legitimize_move): Handle + non-legitimate address. + + 2017-11-24 Segher Boessenkool + + Backport from mainline + 2017-11-17 Segher Boessenkool + + PR rtl-optimization/82621 + * combine.c (try_combine): Do not split PARALLELs of two SETs if the + dest of one of those SETs is unused. + + 2017-11-23 Oleg Endo + + Backport from mainline + 2017-11-23 Oleg Endo + + PR target/83111 + * config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel, + sibcall_value_pcrel_fdpic): Use local variable instead of + operands[3]. + (calli_tbr_rel): Add missing operand 2. + (call_valuei_tbr_rel): Add missing operand 3. + + 2017-11-22 Richard Biener + + Revert + 2017-11-21 Martin Liska + + Backport from mainline + 2017-11-21 Martin Liska + + PR rtl-optimization/82044 + PR tree-optimization/82042 + * dse.c (check_mem_read_rtx): Check for overflow. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-10-27 Martin Liska + + PR gcov-profile/82457 + * doc/invoke.texi: Document that one needs a non-strict ISO mode + for fork-like functions to be properly instrumented. + + 2017-11-21 Pat Haugen + + Backport from mainline + 2017-11-21 Pat Haugen + + * config/rs6000/ppc-asm.h (f50, vs50): Fix values. + + 2017-11-21 Thomas Preud'homme + + Backport from mainline + 2017-11-09 Thomas Preud'homme + + * config/arm/arm.c (output_return_instruction): Add comments to + indicate requirement for cmse_nonsecure_entry return to account + for the size of clearing instruction output here. + (thumb_exit): Likewise. + * config/arm/thumb2.md (thumb2_cmse_entry_return): Fix length for + return in hardfloat mode. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-11-21 Martin Liska + + PR rtl-optimization/82044 + PR tree-optimization/82042 + * dse.c (check_mem_read_rtx): Check for overflow. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-11-08 Martin Liska + + * gimplify.c (expand_FALLTHROUGH_r): Simplify usage + of gimple_call_internal_p. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-11-08 Martin Liska + + PR sanitizer/82792 + * gimplify.c (expand_FALLTHROUGH_r): Skip IFN_ASAN_MARK. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-10-31 Martin Liska + + PR gcov-profile/82633 + * doc/gcov.texi: Document -fkeep-{static,inline}-functions and + their interaction with GCOV infrastructure. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-10-19 Martin Liska + + PR driver/81829 + * file-find.c (remove_prefix): Remove. + * file-find.h (remove_prefix): Likewise. + * gcc-ar.c: Remove smartness of lookup. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-10-18 Martin Liska + + PR sanitizer/82545 + * asan.c (asan_expand_poison_ifn): Do not put gimple stmt + on an abnormal edge. + + 2017-11-21 Martin Liska + + Backport from mainline + 2017-10-11 Martin Liska + + * print-rtl.c (print_insn): Move declaration of idbuf + to same scope as name. + + 2017-11-21 Claudiu Zissulescu + + Backport from mainline + 2017-11-17 Vineet Gupta + + * config/arc/linux.h: GLIBC_DYNAMIC_LINKER update per glibc + upstreaming review comments. + + 2017-11-21 Rainer Orth + + Backport from mainline + 2017-11-14 Rainer Orth + + * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since + Solaris 11. Update comment. + * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 + renaming. + * config/sol2.h (STARTFILE_SPEC): Likewise. + * configure: Regenerate. + + 2017-11-20 Segher Boessenkool + + Backport from mainline + 2017-09-20 Segher Boessenkool + + PR target/77687 + * config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch + address instead of to r1 and r11. + + 2017-11-17 Vineet Gupta + + * config.gcc: Remove uclibc from arc target spec. + + 2017-11-16 Uros Bizjak + + * config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop + explicitly as a stream of bytes. + + 2017-11-15 Richard Biener + + PR tree-optimization/82985 + Backport from mainline + 2017-08-15 Richard Biener + + PR tree-optimization/81790 + * tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both + CONSTRUCTORs from simplifying and VN. + + 2017-11-15 Pierre-Marie de Rodat + + Backport from mainline + 2017-09-25 Pierre-Marie de Rodat + + PR debug/82155 + * dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl + on the FUNCTION_DECL function context if it has a DIE that is a + declaration. + + 2017-11-13 Rainer Orth + + Backport from mainline + 2017-10-26 Rainer Orth + + * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler + supports -xbrace_comment option. + * configure: Regenerate. + * config.in: Regenerate. + * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define. + (ASM_CPU_SPEC): Use it. + + 2017-11-09 Segher Boessenkool + + Backport from mainline + 2017-11-01 Segher Boessenkool + + PR rtl-optimization/64682 + PR rtl-optimization/69567 + PR rtl-optimization/69737 + PR rtl-optimization/82683 + * combine.c (distribute_notes) : If the new I2 sets the same + register mentioned in the note, drop the note, unless it came from I3, + in which case it should go to I3 again. + + 2017-11-07 Eric Botcazou + + Backport from mainline + 2017-10-31 Matthew Fortune + Eric Botcazou + + PR rtl-optimization/81803 + * lra-constraints.c (curr_insn_transform): Also reload the whole + register for a strict subreg no wider than a word if this is for + a WORD_REGISTER_OPERATIONS target. + + 2017-11-03 Wilco Dijkstra + + PR middle-end/60580 + * config/aarch64/aarch64.c (aarch64_frame_pointer_required) + Check special value of flag_omit_frame_pointer. + (aarch64_can_eliminate): Likewise. + (aarch64_override_options_after_change_1): Simplify handling of + -fomit-frame-pointer and -fomit-leaf-frame-pointer. + + 2017-11-01 Martin Jambor + + PR c++/81702 + * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert. + + 2017-10-31 Uros Bizjak + + PR target/82772 + * config/alpha/sync.md (fetchop_constr) : Change to "rINM". + + 2017-10-27 Jakub Jelinek + + Backported from mainline + 2017-10-12 Jakub Jelinek + + PR c++/82159 + * expr.c (store_field): Don't optimize away bitsize == 0 store + from CALL_EXPR with addressable return type. + + 2017-09-21 Jakub Jelinek + + PR sanitizer/81715 + * tree-inline.c (expand_call_inline): Emit clobber stmts for + VAR_DECLs to which addressable non-volatile parameters are mapped + and for id->retvar after the return value assignment, though + for -fsanitize=kernel-address only. Clear id->retval and id->retbnd + after inlining. + + 2017-09-18 Jakub Jelinek + + PR c/82234 + * doc/extend.texi: Add @findex entry for __builtin_shuffle. + + 2017-09-15 Jakub Jelinek + + PR rtl-optimization/82192 + * combine.c (make_extraction): Don't look through non-paradoxical + SUBREGs or TRUNCATE if pos + len is or might be bigger than + inner's mode. + + 2017-10-27 Jakub Jelinek + + PR target/82703 + * config/i386/i386-protos.h (maybe_get_pool_constant): Removed. + * config/i386/i386.c (maybe_get_pool_constant): Removed. + (ix86_split_to_parts): Use avoid_constant_pool_reference instead of + maybe_get_pool_constant. + * config/i386/predicates.md (zero_extended_scalar_load_operand): + Likewise. + + 2017-10-24 Qing Zhao + Wilco Dijkstra + + * builtins.c (expand_builtin_update_setjmp_buf): Add a + converstion to Pmode from the buf_addr. + + 2017-10-20 Richard Biener + + PR tree-optimization/82603 + * tree-if-conv.c (predicate_mem_writes): Make sure to only + remove false predicated stores. + + 2017-10-20 Richard Biener + + Backport from mainline + 2017-10-06 Richard Biener + + PR tree-optimization/82436 + * tree-vect-slp.c (vect_supported_load_permutation_p): More + conservatively choose the vectorization factor when checking + whether we can perform the required load permutation. + (vect_transform_slp_perm_load): Assert when we may not fail. + + 2017-10-19 Richard Earnshaw + + PR target/82445 + * config/arm/arm.c (align_ok_ldrd_strd): New function. + (mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of + the mem into it. + (gen_operands_ldrd_strd): Validate the alignment of the accesses. + + 2017-10-18 Segher Boessenkool + + PR rtl-optimization/82602 + * ira.c (rtx_moveable_p): Return false for volatile asm. + + 2017-10-18 Vladimir Makarov + + PR middle-end/82556 + * lra-constraints.c (curr_insn_transform): Use non-input operand + instead of output one for matched reload. + + 2017-10-17 Jakub Jelinek + + PR tree-optimization/82549 + * fold-const.c (optimize_bit_field_compare, fold_truth_andor_1): + Formatting fixes. Instead of calling make_bit_field_ref with negative + bitpos return 0. + + 2017-10-13 Jakub Jelinek + + PR target/82274 + * internal-fn.c (expand_mul_overflow): If both operands have + the same highpart of -1 or 0 and the topmost bit of lowpart + is different, overflow is if res <= 0 rather than res < 0. + + PR target/82524 + * config/i386/i386.md (addqi_ext_1, andqi_ext_1, + *andqi_ext_1_cc, *qi_ext_1, *xorqi_ext_1_cc): Change + =Q constraints to +Q and into insn condition add check + that operands[0] and operands[1] are equal. + (*addqi_ext_2, *andqi_ext_2, *qi_ext_2): Change + =Q constraints to +Q and into insn condition add check + that operands[0] is equal to either operands[1] or operands[2]. + + 2017-10-10 Andreas Tobler + + Backported from mainline r253602 + 2017-10-10 Andreas Tobler + + * config.gcc: (armv7*-*-freebsd*): New target. + (armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define. + + 2017-10-06 Christophe Lyon + + Backport from mainline r253242. + 2017-09-27 Christophe Lyon + + PR target/71727 + * config/aarch64/aarch64.c + (aarch64_builtin_support_vector_misalignment): Always return false + when misalignment is unknown. + + 2017-10-04 Jason Merrill + + PR c++/82406 - C++ error with noexcept function type + PR c++/70029 - ICE with ref-qualifier and -flto + * langhooks.h (struct lang_hooks_for_types): Add + copy_lang_qualifiers. + * attribs.c (build_type_attribute_qual_variant): Use it. + * langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to + NULL. + (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it. + * tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check. + + 2017-10-02 Bill Schmidt + + Backport from mainline + 2017-09-29 Bill Schmidt + + PR tree-optimization/82337 + * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a + phi definition if the PHI result appears in an abnormal PHI. + (find_basis_for_base_expr): Don't record a basis if the LHS of the + basis appears in an abnormal PHI. + + 2017-09-30 Jakub Jelinek + + * config/i386/i386.c (ix86_split_idivmod): Use mode instead of + always SImode for DIV and MOD in REG_EQUAL notes. + + Backported from mainline + 2017-09-27 Jakub Jelinek + + PR c++/82159 + * gimplify.c (gimplify_modify_expr): Don't optimize away zero sized + lhs from calls if the lhs has addressable type. + + 2017-09-29 Krister Walfridsson + + Backport from mainline + 2017-06-29 Maya Rashish + + PR target/77480 + * config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared + objects. + + 2017-09-29 Krister Walfridsson + + Backport from mainline + 2017-09-26 Krister Walfridsson + + PR target/39570 + * gcc/config/netbsd-protos.h: New file. + * gcc/config/netbsd.c: New file. + * gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define. + * gcc/config/t-netbsd: New file. + * gcc/config.gcc (tm_p_file): Add netbsd-protos.h. + (tmake_file) Add t-netbsd. + (extra_objs) Add netbsd.o. + + 2017-09-28 Krister Walfridsson + + Backport from mainline + 2017-05-14 Krister Walfridsson + + PR target/80600 + * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc. + + 2017-09-27 Christophe Lyon + + Backport from trunk r249639. + 2017-06-26 Christophe Lyon + + * doc/sourcebuild.texi (ARM-specific attributes): Document new + arm_neon_ok_no_float_abi effective target. + + 2017-09-26 Richard Biener + + Backport from mainline + 2017-09-19 Richard Biener + + PR tree-optimization/82244 + * tree-vrp.c (remove_range_assertions): Do not propagate + a constant to abnormals but replace the assert with a copy. + + 2017-09-21 Richard Biener + + PR tree-optimization/82276 + PR tree-optimization/82244 + * tree-vrp.c (build_assert_expr_for): Set + SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on + has it set. + (remove_range_assertions): Revert earlier change. + + 2017-09-20 Richard Biener + + PR tree-optimization/82264 + * tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check + for GIMPLE_CONDs. + (vn_phi_lookup): Likewise. + (vn_phi_insert): Likewise. + * is-a.h (safe_dyn_cast): New. + + 2017-09-25 Richard Biener + + PR tree-optimization/82285 + * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle + enumeral types. + + 2017-09-22 Richard Biener + + PR tree-optimization/82291 + * tree-if-conv.c (predicate_mem_writes): Make sure to + remove writes in blocks predicated with false. + + 2017-09-21 Alan Modra + + PR target/81996 + * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use + stack_pointer_rtx for count 0. Update comments. Break up + large rtl expression. + + 2017-09-21 Wilco Dijkstra + + PR target/71951 + * config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define. + + 2017-09-19 Uros Bizjak + + * config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H + to processor_model and "amdfam17h" to arch_names_table. + * doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name. + + 2017-09-19 Martin Liska + + PR c++/81355 + * config/i386/i386.c (sorted_attr_string): Skip empty strings. + + 2017-09-19 Martin Liska + + Revert backport: + 2017-08-10 Martin Liska + + PR c++/81355 + * c-attribs.c (handle_target_attribute): + Report warning for an empty string argument of target attribute. + + 2017-09-18 Richard Biener + + Backport from mainline + 2017-09-04 Richard Biener + + PR tree-optimization/82084 + * fold-const.h (can_native_encode_string_p): Declare. + * fold-const.c (can_native_encode_string_p): Factor out from ... + (native_encode_string): ... here. + * tree-vect-stmts.c (vectorizable_store): Call it to avoid + vectorizing stores from constants we later cannot handle. + + 2017-09-06 Richard Biener + + PR tree-optimization/82108 + * tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment + for gap in the non-permutation SLP case. + + 2017-09-15 Jakub Jelinek + + Backported from mainline + 2017-09-14 Jakub Jelinek + + PR target/81325 + * cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions + if and where to split a bb, except for splitting before debug insn + sequences followed by non-label real insn. Delete debug insns + in between basic blocks. + + 2017-09-12 Jakub Jelinek + + PR target/82112 + * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For + ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion + on it early, rather than manual conversion late. For + ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion + instead of performing manual conversion. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-09-14 Martin Liska + + * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): + Add proper printf format. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-08-30 Martin Liska + + PR inline-asm/82001 + * ipa-icf-gimple.c (func_checker::compare_tree_list_operand): + Rename to ... + (func_checker::compare_asm_inputs_outputs): ... this function. + (func_checker::compare_gimple_asm): Use the function to compare + also ASM constrains. + * ipa-icf-gimple.h: Rename the function. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-08-29 Martin Liska + + PR other/39851 + * gcc.c (driver_handle_option): Add new argument. + * opts-common.c (handle_option): Pass + target_option_override_hook. + * opts-global.c (lang_handle_option): Add new option. + (set_default_handlers): Add new argument. + (decode_options): Likewise. + * opts.c (target_handle_option): Likewise. + (common_handle_option): Call target_option_override_hook. + * opts.h (struct cl_option_handler_func): Add hook for + target option override. + (struct cl_option_handlers): Likewise. + (set_default_handlers): Add new argument. + (decode_options): Likewise. + (common_handle_option): Likewise. + (target_handle_option): Likewise. + * toplev.c (toplev::main): Pass targetm.target_option.override + hook. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-08-10 Martin Liska + + PR c++/81355 + * c-attribs.c (handle_target_attribute): + Report warning for an empty string argument of target attribute. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-08-08 Martin Liska + + PR tree-opt/81696 + * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider + LABEL_DECLs that can be from a different function. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-06-28 Martin Liska + + PR ipa/81128 + * ipa-visibility.c (non_local_p): Handle visibility. + + 2017-09-12 Bill Schmidt + + Backport from mainline + 2017-09-05 Bill Schmidt + + PR target/81833 + * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a + define_insn to a define_expand. + (altivec_vsum2sws_direct): New define_insn. + (altivec_vsumsws): Convert from a define_insn to a define_expand. + + 2017-09-11 Max Filippov + + Backport from mainline + PR target/82181 + * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both + words of DImode object are reachable by xtensa_uimm8x4 access. + + 2017-09-10 Bill Schmidt + + Backport from mainline + 2017-05-11 Bill Schmidt + + PR target/80695 + * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): + Account for direct move costs for vec_construct of integer + vectors. + + Backport from mainline + 2017-07-23 Bill Schmidt + + PR target/80695 + * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): + Reduce cost estimate for direct moves. + + 2017-09-08 Eric Botcazou + + PR target/81988 + * config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32. + (*mulsi3_sp64): New instruction. + (mulsi3): New expander. + + 2017-09-07 Jakub Jelinek + + Backported from mainline + 2017-09-05 Jakub Jelinek + + PR middle-end/81768 + * omp-low.c (lower_omp_for): Recompute tree invariant if + gimple_omp_for_initial/final is ADDR_EXPR. + + PR middle-end/81768 + * omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR + into gimple val before gimplification fo the COND_EXPR. + + 2017-09-04 Jakub Jelinek + + * lra-remat.c (reg_overlap_for_remat_p): Fix a pasto. + + 2017-09-01 Jakub Jelinek + + PR sanitizer/81923 + * asan.c (create_odr_indicator): Strip name encoding from assembler + name before appending it after __odr_asan_. + + 2017-08-09 Jakub Jelinek + + PR c/81687 + * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL + LABEL_DECLs. + * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL + or DECL_NONLOCAL labels. + (move_stmt_r) : Adjust DECL_CONTEXT of FORCED_LABEL + or DECL_NONLOCAL labels here. + + 2017-08-03 Jakub Jelinek + + PR target/81621 + * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish + after setting changeable df flags. + + PR driver/81650 + * calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??) + instead of 10??LU, perform unit multiplication in wide_int, + don't change alloc_object_size_limit if the limit is larger + than SSIZE_MAX. + + PR middle-end/81052 + * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. + (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. + + 2017-09-06 Bill Schmidt + + Backport from mainline: + 2017-08-30 Bill Schmidt + + PR tree-optimization/81987 + * gimple-ssa-strength-reduction.c (insert_initializers): Don't + insert an initializer in a location not dominated by the stride + definition. + + 2017-09-05 Bill Schmidt + + Backport from mainline + 2017-08-29 Bill Schmidt + Jakub Jelinek + Richard Biener + + PR tree-optimization/81503 + * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure + folded constant fits in the target type; reorder tests for clarity. + + 2017-09-05 Pierre-Marie de Rodat + + Backport from trunk + PR ada/79542 + * dwarf2out.c (modified_type_die): For C typedef types that have + an ultimate origin, process the ultimate origin instead of the + input type. + (gen_typedef_die): Assert that input DECLs have no ultimate + origin. + (gen_type_die_with_usage): For typedef variants that have an + ultimate origin, just call gen_decl_die on the original DECL. + (process_scope_var): Avoid creating DIEs for local typedefs and + concrete static variables. + + 2017-08-31 Bill Schmidt + + Backport from mainline + 2017-08-25 Bill Schmidt + + PR target/81504 + * config/rs6000/rs6000.c (find_alignment_op): Add reference + parameter and_insn and return it. + (recombine_lvx_pattern): Insert a copy to ensure availability of + the base register of the copied masking operation at the point of + the instruction replacement. + (recombine_stvx_pattern): Likewise. + + 2017-08-29 Michael Meissner + + Back port from trunk + 2017-08-07 Michael Meissner + + PR target/81593 + * config/rs6000/vsx.md (vsx_concat__1): New combiner insns + to recognize inserting into a vector from a double word element + that was extracted from another vector, and eliminate extra + XXPERMDI instructions. + (vsx_concat__2): Likewise. + (vsx_concat__3): Likewise. + (vsx_set_, VSX_D): Rewrite vector set in terms of vector + concat to allow optimizing inserts from previous extracts. + + 2017-08-29 Alan Modra + + Apply from mainline + 2017-08-12 Alan Modra + PR target/81170 + PR target/81295 + * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to + match gnu-user.h startfile. + (ENDFILE_LINUX_SPEC): Similarly. + + 2017-08-08 Alan Modra + H.J. Lu + PR target/81170 + PR target/81295 + PR driver/81523 + * gcc.c (NO_PIE_SPEC): Delete. + (PIE_SPEC): Define as !no-pie/pie. Move static|shared|r + exclusion.. + (LINK_PIE_SPEC): ..to here. + (LINK_COMMAND_SPEC): Support -no-pie. + * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct + chain of crtbegin*.o selection, update for PIE_SPEC changes and + format. + (GNU_USER_TARGET_ENDFILE_SPEC): Similarly. + * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly. + (ENDFILE_CRTEND_SPEC): Similarly. + + 2017-08-29 Richard Biener + + Backport from mainline + 2017-08-28 Richard Biener + + PR tree-optimization/81977 + * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through + memcpy. + + 2017-08-28 Richard Biener + + PR debug/81993 + * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): + Do nothing for removed DIEs. + + 2017-08-28 Richard Biener + + Backport from mainline + 2017-06-14 Richard Biener + + PR middle-end/81088 + * fold-const.c (split_tree): Drop TREE_OVERFLOW flag from + literal constants. + (fold_binary_loc): When associating do not treat pre-existing + TREE_OVERFLOW on literal constants as a reason to allow + TREE_OVERFLOW on associated literal constants. + + 2017-06-13 Richard Biener + + PR middle-end/81065 + * fold-const.c (extract_muldiv_1): Remove bogus distribution + case of C * (x * C2 + C3). + (fold_addr_of_array_ref_difference): Properly fold index difference. + + 2017-06-07 Marek Polacek + + PR sanitizer/80932 + * fold-const.c (extract_muldiv_1) : Add + TYPE_OVERFLOW_WRAPS check. + + 2017-08-28 Richard Biener + + Backport from mainline + 2017-08-21 Richard Biener + + PR middle-end/81884 + * tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses + at struct end conservatively when comparing common bases. + + 2017-05-04 Richard Biener + + * tree.c (array_at_struct_end_p): Handle arrays at struct + end with flexarrays more conservatively. Refactor and treat + arrays of arrays or aggregates more strict. Fix + VIEW_CONVERT_EXPR handling. Remove allow_compref argument. + * tree.h (array_at_struct_end_p): Adjust prototype. + * gimple-fold.c (get_range_strlen): Likewise. + * tree-chkp.c (chkp_may_narrow_to_field): Likewise. + + 2017-08-28 Richard Biener + + Backport from mainline + 2017-08-01 Richard Biener + + PR tree-optimization/81181 + * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ... + (compute_antic): ... end of iteration here. + + 2017-08-08 Richard Biener + + PR tree-optimization/81723 + * tree-vect-slp.c (struct bst_traits): New hash traits. + (bst_fail): New global. + (vect_build_slp_tree_2): New worker, split out from ... + (vect_build_slp_tree): ... this now wrapping it with using + bst_fail set to cache SLP tree build fails. Properly handle + max_tree_size. + (vect_analyze_slp_instance): Allocate and free bst_fail. + + 2017-08-24 Richard Biener + + PR target/81921 + * config/i386/i386.c: Include symbol-summary.h, ipa-prop.h + and ipa-inline.h. + (ix86_can_inline_p): When ix86_fpmath flags do not match + check whether the callee uses FP math at all. + + 2017-08-23 Peter Bergner + + Backport from mainline + 2017-08-17 Peter Bergner + + PR target/72804 + * config/rs6000/vsx.md (*vsx_le_permute_): Add support for + operands residing in integer registers. + (*vsx_le_perm_load_): Likewise. + (*vsx_le_perm_store_): Likewise. + (define_peephole2): Add peepholes to optimize the above. + + 2017-08-22 Peter Bergner + + Backport from mainline + 2017-08-17 Peter Bergner + + PR target/80210 + * config/rs6000/rs6000.c (rs6000_activate_target_options): New function. + (rs6000_set_current_function): Rewrite function to use it. + + 2017-08-22 Sebastian Huber + + Backport from mainline + 2017-08-22 Sebastian Huber + + * config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt. + * config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define. + (DOT_SYMBOLS): Likewise. + (MINIMAL_TOC_SECTION_ASM_OP): Likewise. + (RELOCATABLE_NEEDS_FIXUP): Likewise. + (RS6000_ABI_NAME): Likewise. + (TARGET_CMODEL): Likewise. + (TOC_SECTION_ASM_OP): Likewise. + (SET_CMODEL): New macro. + (SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options. + + 2017-08-22 Georg-Johann Lay + + Backport from 2017-08-22 trunk r251256. + + PR target/81910 + * config/avr/avr.c (avr_handle_addr_attribute): Early return if + not VAR_P. Filter attribute warnings with OPT_Wattributes. + (avr_attribute_table) : Initialize + .decl_required with true. + + 2017-08-21 Georg-Johann Lay + + PR target/79883 + * config/avr/avr.c (avr_set_current_function): Typo in diagnostic. + + 2017-08-19 Uros Bizjak + + PR target/81894 + * doc/extend.texi (x86 Built-in Functions): Correct the name of + __builtin_ia32_lzcnt_u16. + + 2017-08-17 Uros Bizjak + + Backport from mainline + 2017-08-17 Maxim Ostapenko + + PR target/81861 + * config/i386/i386.c (ix86_option_override_internal): Save target + specific options after ix86_stack_protector_guard_reg was changed. + + 2017-08-16 Bill Schmidt + + Backport from mainline + 2017-08-08 Bill Schmidt + + PR tree-optimization/81354 + * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): + Insert on edges rather than explicitly creating landing pads. + (analyze_candidates_and_replace): Commit edge inserts. + + 2017-08-15 Joseph Myers + + PR target/78460 + PR target/67712 + * config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for + constant count if that count is less than 32. + + 2017-08-14 Richard Biener + + * BASE-VER: Set to 7.2.1. + 2017-08-14 Release Manager * GCC 7.2.0 released. *************** *** 5411,5421 **** * doc/invoke.texi: Replace inequality signs with square brackets for -Wnormalized. - 2017-02-22 Bill Schmidt - - PR tree-optimization/68644 - * gcc.dg/tree-ssa/ivopts-lt-2.c: Skip for powerpc*-*-*. - 2017-02-22 Matthew Fortune PR target/78660 --- 7465,7470 ---- *************** *** 6987,6994 **** * tree-vrp.c (process_assert_insertions): Properly adjust common when removing a duplicate. - * gcc.dg/torture/pr79276.c: New testcase. - 2017-01-30 Richard Biener PR tree-optimization/79256 --- 9036,9041 ---- diff -Nrcpad gcc-7.2.0/gcc/DATESTAMP gcc-7.3.0/gcc/DATESTAMP *** gcc-7.2.0/gcc/DATESTAMP Mon Aug 14 00:17:14 2017 --- gcc-7.3.0/gcc/DATESTAMP Thu Jan 25 00:16:09 2018 *************** *** 1 **** ! 20170814 --- 1 ---- ! 20180125 diff -Nrcpad gcc-7.2.0/gcc/ada/ChangeLog gcc-7.3.0/gcc/ada/ChangeLog *** gcc-7.2.0/gcc/ada/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/ada/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,116 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2017-12-14 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_field): Do not set the alignment + of the enclosing record type if it is not already set. + + 2017-12-13 Eric Botcazou + + * gcc-interface/trans.c (Subprogram_Body_to_gnu): Initialize locus. + + 2017-12-13 Eric Botcazou + + * gcc-interface/trans.c (process_freeze_entity): Be prepared for a + package without body. + + 2017-12-13 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity): Robustify test for types + descendant of System.Address. + (gnat_to_gnu_subprog_type): Likewise. + + 2017-12-04 Sebastian Huber + + * gcc-interface/Makefile.in (RTEMS): Use s-osprim.adb. + * s-osprim-rtems.adb: New file. + * s-osinte-rtems.adb (pthread_cond_t): Fix alignment. + (pthread_mutexattr_t): Likewise. + (pthread_rwlockattr_t): Likewise. + (pthread_rwlock_t): Likewise. + (time_t): Use 64-bit integer. + + 2017-12-01 Sebastian Huber + + * s-osinte-rtems.ads (pthread_cond_t): Use correct size and + alignment. + (pthread_mutex_t): Likewise. + (pthread_rwlock_t): Likewise. + + 2017-11-10 Eric Botcazou + + * gcc-interface/utils.c (convert) : Add comment and do + not fall through to the next case. + : Deal specially with a dereference from another array + type with the same element type. + + 2017-10-21 Eric Botcazou + + * gcc-interface/Makefile.in: Remove bogus settings for VxWorks. + + 2017-10-05 Eric Botcazou + + PR ada/82393 + * mingw32.h (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Delete. + * sysdep.c (__gnat_set_mode ): Use DJGPP version for Cygwin. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-08-29 Martin Liska + + PR other/39851 + * gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL. + + 2017-09-09 Eric Botcazou + + * gcc-interface/decl.c (promote_object_alignment): New function taken + from... + (gnat_to_gnu_entity) : ...here. Invoke it. + (gnat_to_gnu_field): If the field is Atomic or VFA, invoke it and + create a padding type on success before doing the atomic check. + + 2017-09-09 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Apply the + promotion to static memory earlier in the processing. + + 2017-09-09 Eric Botcazou + + * sem_util.ads (Set_Rep_Info): New inline procedure. + * sem_util.adb (Set_Rep_Info): Implement it. + * sem_ch3.adb (Process_Subtype): If the case of a constraint present, + always copy the representation aspects onto the subtype. + * gcc-interface/decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK + and TYPE_BY_REFERENCE_P flags on types after various promotions. + * gcc-interface/trans.c (node_has_volatile_full_access) : + Consider all kinds of entities. + + 2017-09-05 Eric Botcazou + + PR ada/62235 + * gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing + for Itypes that are E_Record_Subtype with a cloned subtype. + : Use the DECL of the cloned type directly, if any. + + 2017-09-05 Eric Botcazou + + * gcc-interface/utils.c (unchecked_convert): When the result type is a + non-biased integral type with size 0, set the result to 0 directly. + + 2017-09-05 Eric Botcazou + + * gcc-interface/trans.c (Call_to_gnu): If this is a function call and + there is no target, do not create a temporary for the return value for + an allocator either. + + 2017-09-05 Eric Botcazou + + * gcc-interface/trans.c (pos_to_constructor): Skip conversions to an + unconstrained array type. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/ada/gcc-interface/Makefile.in gcc-7.3.0/gcc/ada/gcc-interface/Makefile.in *** gcc-7.2.0/gcc/ada/gcc-interface/Makefile.in Thu Jun 15 22:22:18 2017 --- gcc-7.3.0/gcc/ada/gcc-interface/Makefile.in Mon Dec 4 13:41:46 2017 *************** ifeq ($(strip $(filter-out %86 x86_64 wr *** 904,913 **** ifeq ($(strip $(filter-out x86_64, $(target_cpu))),) X86CPU=x86_64 ! LIBGNAT_TARGET_PAIRS=s-atocou.adb build_variant_l *** 229,234 **** --- 229,235 ---- static tree validate_size (Uint, tree, Entity_Id, enum tree_code, bool, bool); static void set_rm_size (Uint, tree, Entity_Id); static unsigned int validate_alignment (Uint, Entity_Id, unsigned int); + static unsigned int promote_object_alignment (tree, Entity_Id); static void check_ok_for_atomic_type (tree, Entity_Id, bool); static tree create_field_decl_from (tree, tree, tree, tree, tree, vec ); *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 309,319 **** /* Since a use of an Itype is a definition, process it as such if it is in the main unit, except for E_Access_Subtype because it's actually a use ! of its base type, see below. */ if (!definition && is_type && Is_Itype (gnat_entity) ! && Ekind (gnat_entity) != E_Access_Subtype && !present_gnu_tree (gnat_entity) && In_Extended_Main_Code_Unit (gnat_entity)) { --- 310,323 ---- /* Since a use of an Itype is a definition, process it as such if it is in the main unit, except for E_Access_Subtype because it's actually a use ! of its base type, and for E_Record_Subtype with cloned subtype because ! it's actually a use of the cloned subtype, see below. */ if (!definition && is_type && Is_Itype (gnat_entity) ! && !(kind == E_Access_Subtype ! || (kind == E_Record_Subtype ! && Present (Cloned_Subtype (gnat_entity)))) && !present_gnu_tree (gnat_entity) && In_Extended_Main_Code_Unit (gnat_entity)) { *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 649,655 **** /* Get the type after elaborating the renamed object. */ if (Has_Foreign_Convention (gnat_entity) ! && Is_Descendant_Of_Address (gnat_type)) gnu_type = ptr_type_node; else { --- 653,659 ---- /* Get the type after elaborating the renamed object. */ if (Has_Foreign_Convention (gnat_entity) ! && Is_Descendant_Of_Address (Underlying_Type (gnat_type))) gnu_type = ptr_type_node; else { *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 847,891 **** && No (Renamed_Object (gnat_entity)) && No (Address_Clause (gnat_entity)))) && TREE_CODE (TYPE_SIZE (gnu_type)) == INTEGER_CST) ! { ! unsigned int size_cap, align_cap; ! ! /* No point in promoting the alignment if this doesn't prevent ! BLKmode access to the object, in particular block copy, as ! this will for example disable the NRV optimization for it. ! No point in jumping through all the hoops needed in order ! to support BIGGEST_ALIGNMENT if we don't really have to. ! So we cap to the smallest alignment that corresponds to ! a known efficient memory access pattern of the target. */ ! if (Is_Atomic_Or_VFA (gnat_entity)) ! { ! size_cap = UINT_MAX; ! align_cap = BIGGEST_ALIGNMENT; ! } ! else ! { ! size_cap = MAX_FIXED_MODE_SIZE; ! align_cap = get_mode_alignment (ptr_mode); ! } ! ! if (!tree_fits_uhwi_p (TYPE_SIZE (gnu_type)) ! || compare_tree_int (TYPE_SIZE (gnu_type), size_cap) > 0) ! align = 0; ! else if (compare_tree_int (TYPE_SIZE (gnu_type), align_cap) > 0) ! align = align_cap; ! else ! align = ceil_pow2 (tree_to_uhwi (TYPE_SIZE (gnu_type))); ! ! /* But make sure not to under-align the object. */ ! if (align <= TYPE_ALIGN (gnu_type)) ! align = 0; ! ! /* And honor the minimum valid atomic alignment, if any. */ ! #ifdef MINIMUM_ATOMIC_ALIGNMENT ! else if (align < MINIMUM_ATOMIC_ALIGNMENT) ! align = MINIMUM_ATOMIC_ALIGNMENT; ! #endif ! } /* If the object is set to have atomic components, find the component type and validate it. --- 851,857 ---- && No (Renamed_Object (gnat_entity)) && No (Address_Clause (gnat_entity)))) && TREE_CODE (TYPE_SIZE (gnu_type)) == INTEGER_CST) ! align = promote_object_alignment (gnu_type, gnat_entity); /* If the object is set to have atomic components, find the component type and validate it. *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 1413,1418 **** --- 1379,1397 ---- gnu_size = NULL_TREE; } + /* If this is an aggregate constant initialized to a constant, force it + to be statically allocated. This saves an initialization copy. */ + if (!static_flag + && const_flag + && gnu_expr + && TREE_CONSTANT (gnu_expr) + && AGGREGATE_TYPE_P (gnu_type) + && tree_fits_uhwi_p (TYPE_SIZE_UNIT (gnu_type)) + && !(TYPE_IS_PADDING_P (gnu_type) + && !tree_fits_uhwi_p (TYPE_SIZE_UNIT + (TREE_TYPE (TYPE_FIELDS (gnu_type)))))) + static_flag = true; + /* If this is an aliased object with an unconstrained array nominal subtype, we make its type a thin reference, i.e. the reference counterpart of a thin pointer, so it points to the array part. *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 1463,1480 **** && No (Address_Clause (gnat_entity)))) gnu_ext_name = create_concat_name (gnat_entity, NULL); - /* If this is an aggregate constant initialized to a constant, force it - to be statically allocated. This saves an initialization copy. */ - if (!static_flag - && const_flag - && gnu_expr && TREE_CONSTANT (gnu_expr) - && AGGREGATE_TYPE_P (gnu_type) - && tree_fits_uhwi_p (TYPE_SIZE_UNIT (gnu_type)) - && !(TYPE_IS_PADDING_P (gnu_type) - && !tree_fits_uhwi_p (TYPE_SIZE_UNIT - (TREE_TYPE (TYPE_FIELDS (gnu_type)))))) - static_flag = true; - /* Deal with a pragma Linker_Section on a constant or variable. */ if ((kind == E_Constant || kind == E_Variable) && Present (Linker_Section_Pragma (gnat_entity))) --- 1442,1447 ---- *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 3391,3397 **** { gnu_decl = gnat_to_gnu_entity (Cloned_Subtype (gnat_entity), NULL_TREE, false); ! maybe_present = true; break; } --- 3358,3364 ---- { gnu_decl = gnat_to_gnu_entity (Cloned_Subtype (gnat_entity), NULL_TREE, false); ! saved = true; break; } *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 4505,4522 **** already defined so we cannot pass true for IN_PLACE here. */ process_attributes (&gnu_type, &attr_list, false, gnat_entity); - /* Tell the middle-end that objects of tagged types are guaranteed to - be properly aligned. This is necessary because conversions to the - class-wide type are translated into conversions to the root type, - which can be less aligned than some of its derived types. */ - if (Is_Tagged_Type (gnat_entity) - || Is_Class_Wide_Equivalent_Type (gnat_entity)) - TYPE_ALIGN_OK (gnu_type) = 1; - - /* Record whether the type is passed by reference. */ - if (!VOID_TYPE_P (gnu_type) && Is_By_Reference_Type (gnat_entity)) - TYPE_BY_REFERENCE_P (gnu_type) = 1; - /* ??? Don't set the size for a String_Literal since it is either confirming or we don't handle it properly (if the low bound is non-constant). */ --- 4472,4477 ---- *************** gnat_to_gnu_entity (Entity_Id gnat_entit *** 4726,4742 **** /* If this is not an unconstrained array type, set some flags. */ if (TREE_CODE (gnu_type) != UNCONSTRAINED_ARRAY_TYPE) { if (Present (Alignment_Clause (gnat_entity))) TYPE_USER_ALIGN (gnu_type) = 1; if (Universal_Aliasing (gnat_entity) && !TYPE_IS_DUMMY_P (gnu_type)) TYPE_UNIVERSAL_ALIASING_P (gnu_type) = 1; /* If it is passed by reference, force BLKmode to ensure that objects of this type will always be put in memory. */ ! if (TYPE_MODE (gnu_type) != BLKmode ! && AGGREGATE_TYPE_P (gnu_type) ! && TYPE_BY_REFERENCE_P (gnu_type)) SET_TYPE_MODE (gnu_type, BLKmode); } --- 4681,4709 ---- /* If this is not an unconstrained array type, set some flags. */ if (TREE_CODE (gnu_type) != UNCONSTRAINED_ARRAY_TYPE) { + /* Tell the middle-end that objects of tagged types are guaranteed to + be properly aligned. This is necessary because conversions to the + class-wide type are translated into conversions to the root type, + which can be less aligned than some of its derived types. */ + if (Is_Tagged_Type (gnat_entity) + || Is_Class_Wide_Equivalent_Type (gnat_entity)) + TYPE_ALIGN_OK (gnu_type) = 1; + + /* Record whether the type is passed by reference. */ + if (Is_By_Reference_Type (gnat_entity) && !VOID_TYPE_P (gnu_type)) + TYPE_BY_REFERENCE_P (gnu_type) = 1; + + /* Record whether an alignment clause was specified. */ if (Present (Alignment_Clause (gnat_entity))) TYPE_USER_ALIGN (gnu_type) = 1; + /* Record whether a pragma Universal_Aliasing was specified. */ if (Universal_Aliasing (gnat_entity) && !TYPE_IS_DUMMY_P (gnu_type)) TYPE_UNIVERSAL_ALIASING_P (gnu_type) = 1; /* If it is passed by reference, force BLKmode to ensure that objects of this type will always be put in memory. */ ! if (AGGREGATE_TYPE_P (gnu_type) && TYPE_BY_REFERENCE_P (gnu_type)) SET_TYPE_MODE (gnu_type, BLKmode); } *************** gnat_to_gnu_subprog_type (Entity_Id gnat *** 5840,5846 **** /* For foreign convention subprograms, return System.Address as void * or equivalent. Note that this comprises GCC builtins. */ if (Has_Foreign_Convention (gnat_subprog) ! && Is_Descendant_Of_Address (gnat_return_type)) gnu_return_type = ptr_type_node; else gnu_return_type = gnat_to_gnu_profile_type (gnat_return_type); --- 5807,5813 ---- /* For foreign convention subprograms, return System.Address as void * or equivalent. Note that this comprises GCC builtins. */ if (Has_Foreign_Convention (gnat_subprog) ! && Is_Descendant_Of_Address (Underlying_Type (gnat_return_type))) gnu_return_type = ptr_type_node; else gnu_return_type = gnat_to_gnu_profile_type (gnat_return_type); *************** gnat_to_gnu_subprog_type (Entity_Id gnat *** 6007,6013 **** /* For foreign convention subprograms, pass System.Address as void * or equivalent. Note that this comprises GCC builtins. */ if (Has_Foreign_Convention (gnat_subprog) ! && Is_Descendant_Of_Address (gnat_param_type)) gnu_param_type = ptr_type_node; else gnu_param_type = gnat_to_gnu_profile_type (gnat_param_type); --- 5974,5980 ---- /* For foreign convention subprograms, pass System.Address as void * or equivalent. Note that this comprises GCC builtins. */ if (Has_Foreign_Convention (gnat_subprog) ! && Is_Descendant_Of_Address (Underlying_Type (gnat_param_type))) gnu_param_type = ptr_type_node; else gnu_param_type = gnat_to_gnu_profile_type (gnat_param_type); *************** gnat_to_gnu_field (Entity_Id gnat_field, *** 7114,7120 **** } if (Is_Atomic_Or_VFA (gnat_field)) ! check_ok_for_atomic_type (gnu_field_type, gnat_field, false); if (Present (Component_Clause (gnat_field))) { --- 7081,7095 ---- } if (Is_Atomic_Or_VFA (gnat_field)) ! { ! const unsigned int align ! = promote_object_alignment (gnu_field_type, gnat_field); ! if (align > 0) ! gnu_field_type ! = maybe_pad_type (gnu_field_type, NULL_TREE, align, gnat_field, ! false, false, definition, true); ! check_ok_for_atomic_type (gnu_field_type, gnat_field, false); ! } if (Present (Component_Clause (gnat_field))) { *************** gnat_to_gnu_field (Entity_Id gnat_field, *** 7152,7158 **** { const unsigned int type_align = TYPE_ALIGN (gnu_field_type); ! if (TYPE_ALIGN (gnu_record_type) < type_align) SET_TYPE_ALIGN (gnu_record_type, type_align); /* If the position is not a multiple of the alignment of the type, --- 7127,7134 ---- { const unsigned int type_align = TYPE_ALIGN (gnu_field_type); ! if (TYPE_ALIGN (gnu_record_type) ! && TYPE_ALIGN (gnu_record_type) < type_align) SET_TYPE_ALIGN (gnu_record_type, type_align); /* If the position is not a multiple of the alignment of the type, *************** validate_alignment (Uint alignment, Enti *** 8787,8792 **** --- 8763,8815 ---- return align; } + + /* Promote the alignment of GNU_TYPE corresponding to GNAT_ENTITY. Return + a positive value on success or zero on failure. */ + + static unsigned int + promote_object_alignment (tree gnu_type, Entity_Id gnat_entity) + { + unsigned int align, size_cap, align_cap; + + /* No point in promoting the alignment if this doesn't prevent BLKmode access + to the object, in particular block copy, as this will for example disable + the NRV optimization for it. No point in jumping through all the hoops + needed in order to support BIGGEST_ALIGNMENT if we don't really have to. + So we cap to the smallest alignment that corresponds to a known efficient + memory access pattern, except for Atomic and Volatile_Full_Access. */ + if (Is_Atomic_Or_VFA (gnat_entity)) + { + size_cap = UINT_MAX; + align_cap = BIGGEST_ALIGNMENT; + } + else + { + size_cap = MAX_FIXED_MODE_SIZE; + align_cap = get_mode_alignment (ptr_mode); + } + + /* Do the promotion within the above limits. */ + if (!tree_fits_uhwi_p (TYPE_SIZE (gnu_type)) + || compare_tree_int (TYPE_SIZE (gnu_type), size_cap) > 0) + align = 0; + else if (compare_tree_int (TYPE_SIZE (gnu_type), align_cap) > 0) + align = align_cap; + else + align = ceil_pow2 (tree_to_uhwi (TYPE_SIZE (gnu_type))); + + /* But make sure not to under-align the object. */ + if (align <= TYPE_ALIGN (gnu_type)) + align = 0; + + /* And honor the minimum valid atomic alignment, if any. */ + #ifdef MINIMUM_ATOMIC_ALIGNMENT + else if (align < MINIMUM_ATOMIC_ALIGNMENT) + align = MINIMUM_ATOMIC_ALIGNMENT; + #endif + + return align; + } /* Verify that TYPE is something we can implement atomically. If not, issue an error for GNAT_ENTITY. COMPONENT_P is true if we are being called to diff -Nrcpad gcc-7.2.0/gcc/ada/gcc-interface/trans.c gcc-7.3.0/gcc/ada/gcc-interface/trans.c *** gcc-7.2.0/gcc/ada/gcc-interface/trans.c Fri Feb 24 10:54:00 2017 --- gcc-7.3.0/gcc/ada/gcc-interface/trans.c Wed Dec 13 09:30:42 2017 *************** Pragma_to_gnu (Node_Id gnat_node) *** 1477,1483 **** else option_index = 0; ! set_default_handlers (&handlers); control_warning_option (option_index, (int) kind, arg, imply, location, lang_mask, &handlers, &global_options, &global_options_set, global_dc); --- 1477,1483 ---- else option_index = 0; ! set_default_handlers (&handlers, NULL); control_warning_option (option_index, (int) kind, arg, imply, location, lang_mask, &handlers, &global_options, &global_options_set, global_dc); *************** Subprogram_Body_to_gnu (Node_Id gnat_nod *** 3757,3763 **** } /* Set the line number in the decl to correspond to that of the body. */ ! Sloc_to_locus (Sloc (gnat_node), &locus); DECL_SOURCE_LOCATION (gnu_subprog_decl) = locus; /* Initialize the information structure for the function. */ --- 3757,3764 ---- } /* Set the line number in the decl to correspond to that of the body. */ ! if (!Sloc_to_locus (Sloc (gnat_node), &locus)) ! locus = input_location; DECL_SOURCE_LOCATION (gnu_subprog_decl) = locus; /* Initialize the information structure for the function. */ *************** node_has_volatile_full_access (Node_Id g *** 4058,4065 **** case N_Identifier: case N_Expanded_Name: gnat_entity = Entity (gnat_node); - if (Ekind (gnat_entity) != E_Variable) - break; return Is_Volatile_Full_Access (gnat_entity) || Is_Volatile_Full_Access (Etype (gnat_entity)); --- 4059,4064 ---- *************** Call_to_gnu (Node_Id gnat_node, tree *gn *** 4326,4336 **** parameters. 2. There is no target and the call is made for neither an object nor a ! renaming declaration, nor a return statement, and the return type has ! variable size, because in this case the gimplifier cannot create the ! temporary, or more generally is simply an aggregate type, because the ! gimplifier would create the temporary in the outermost scope instead ! of locally. 3. There is a target and it is a slice or an array with fixed size, and the return type has variable size, because the gimplifier --- 4325,4335 ---- parameters. 2. There is no target and the call is made for neither an object nor a ! renaming declaration, nor a return statement, nor an allocator, and ! the return type has variable size because in this case the gimplifier ! cannot create the temporary, or more generally is simply an aggregate ! type, because the gimplifier would then create the temporary in the ! outermost scope instead of locally. 3. There is a target and it is a slice or an array with fixed size, and the return type has variable size, because the gimplifier *************** Call_to_gnu (Node_Id gnat_node, tree *gn *** 4349,4354 **** --- 4348,4355 ---- && Nkind (Parent (gnat_node)) != N_Object_Declaration && Nkind (Parent (gnat_node)) != N_Object_Renaming_Declaration && Nkind (Parent (gnat_node)) != N_Simple_Return_Statement + && !(Nkind (Parent (gnat_node)) == N_Qualified_Expression + && Nkind (Parent (Parent (gnat_node))) == N_Allocator) && AGGREGATE_TYPE_P (gnu_result_type) && !TYPE_IS_FAT_POINTER_P (gnu_result_type)) || (gnu_target *************** process_freeze_entity (Node_Id gnat_node *** 8625,8636 **** const Entity_Kind kind = Ekind (gnat_entity); tree gnu_old, gnu_new; ! /* If this is a package, we need to generate code for the package. */ if (kind == E_Package) { ! insert_code_for ! (Parent (Corresponding_Body ! (Parent (Declaration_Node (gnat_entity))))); return; } --- 8626,8637 ---- const Entity_Kind kind = Ekind (gnat_entity); tree gnu_old, gnu_new; ! /* If this is a package, generate code for the package body, if any. */ if (kind == E_Package) { ! const Node_Id gnat_decl = Parent (Declaration_Node (gnat_entity)); ! if (Present (Corresponding_Body (gnat_decl))) ! insert_code_for (Parent (Corresponding_Body (gnat_decl))); return; } *************** pos_to_constructor (Node_Id gnat_expr, t *** 9702,9708 **** gnat_component_type); else { ! gnu_expr = gnat_to_gnu (gnat_expr); /* Before assigning the element to the array, make sure it is in range. */ --- 9703,9716 ---- gnat_component_type); else { ! /* If the expression is a conversion to an unconstrained array type, ! skip it to avoid spilling to memory. */ ! if (Nkind (gnat_expr) == N_Type_Conversion ! && Is_Array_Type (Etype (gnat_expr)) ! && !Is_Constrained (Etype (gnat_expr))) ! gnu_expr = gnat_to_gnu (Expression (gnat_expr)); ! else ! gnu_expr = gnat_to_gnu (gnat_expr); /* Before assigning the element to the array, make sure it is in range. */ diff -Nrcpad gcc-7.2.0/gcc/ada/gcc-interface/utils.c gcc-7.3.0/gcc/ada/gcc-interface/utils.c *** gcc-7.2.0/gcc/ada/gcc-interface/utils.c Fri Feb 24 10:48:38 2017 --- gcc-7.3.0/gcc/ada/gcc-interface/utils.c Fri Nov 10 08:23:20 2017 *************** convert (tree type, tree expr) *** 4660,4665 **** --- 4660,4666 ---- return fold (convert_to_real (type, expr)); case RECORD_TYPE: + /* Do a normal conversion between scalar and justified modular type. */ if (TYPE_JUSTIFIED_MODULAR_P (type) && !AGGREGATE_TYPE_P (etype)) { vec *v; *************** convert (tree type, tree expr) *** 4671,4679 **** return gnat_build_constructor (type, v); } ! /* ... fall through ... */ case ARRAY_TYPE: /* In these cases, assume the front-end has validated the conversion. If the conversion is valid, it will be a bit-wise conversion, so it can be viewed as an unchecked conversion. */ --- 4672,4698 ---- return gnat_build_constructor (type, v); } ! /* In these cases, assume the front-end has validated the conversion. ! If the conversion is valid, it will be a bit-wise conversion, so ! it can be viewed as an unchecked conversion. */ ! return unchecked_convert (type, expr, false); case ARRAY_TYPE: + /* Do a normal conversion between unconstrained and constrained array + type, assuming the latter is a constrained version of the former. */ + if (TREE_CODE (expr) == INDIRECT_REF + && ecode == ARRAY_TYPE + && TREE_TYPE (etype) == TREE_TYPE (type)) + { + tree ptr_type = build_pointer_type (type); + tree t = build_unary_op (INDIRECT_REF, NULL_TREE, + fold_convert (ptr_type, + TREE_OPERAND (expr, 0))); + TREE_READONLY (t) = TREE_READONLY (expr); + TREE_THIS_NOTRAP (t) = TREE_THIS_NOTRAP (expr); + return t; + } + /* In these cases, assume the front-end has validated the conversion. If the conversion is valid, it will be a bit-wise conversion, so it can be viewed as an unchecked conversion. */ *************** unchecked_convert (tree type, tree expr, *** 5230,5249 **** ? TYPE_RM_SIZE (etype) : TYPE_SIZE (etype)) == 0))) { ! tree base_type ! = gnat_type_for_size (TREE_INT_CST_LOW (TYPE_SIZE (type)), ! type_unsigned_for_rm (type)); ! tree shift_expr ! = convert (base_type, ! size_binop (MINUS_EXPR, ! TYPE_SIZE (type), TYPE_RM_SIZE (type))); ! expr ! = convert (type, ! build_binary_op (RSHIFT_EXPR, base_type, ! build_binary_op (LSHIFT_EXPR, base_type, ! convert (base_type, expr), ! shift_expr), ! shift_expr)); } /* An unchecked conversion should never raise Constraint_Error. The code --- 5249,5274 ---- ? TYPE_RM_SIZE (etype) : TYPE_SIZE (etype)) == 0))) { ! if (integer_zerop (TYPE_RM_SIZE (type))) ! expr = build_int_cst (type, 0); ! else ! { ! tree base_type ! = gnat_type_for_size (TREE_INT_CST_LOW (TYPE_SIZE (type)), ! type_unsigned_for_rm (type)); ! tree shift_expr ! = convert (base_type, ! size_binop (MINUS_EXPR, ! TYPE_SIZE (type), TYPE_RM_SIZE (type))); ! expr ! = convert (type, ! build_binary_op (RSHIFT_EXPR, base_type, ! build_binary_op (LSHIFT_EXPR, base_type, ! convert (base_type, ! expr), ! shift_expr), ! shift_expr)); ! } } /* An unchecked conversion should never raise Constraint_Error. The code diff -Nrcpad gcc-7.2.0/gcc/ada/mingw32.h gcc-7.3.0/gcc/ada/mingw32.h *** gcc-7.2.0/gcc/ada/mingw32.h Thu Jan 12 16:01:16 2017 --- gcc-7.3.0/gcc/ada/mingw32.h Thu Oct 5 16:32:40 2017 *************** *** 59,74 **** #endif #include - #ifndef _O_U8TEXT - #define _O_U8TEXT _O_TEXT - #endif - #ifndef _O_U16TEXT - #define _O_U16TEXT _O_TEXT - #endif - #ifndef _O_WTEXT - #define _O_WTEXT _O_TEXT - #endif - /* After including this file it is possible to use the character t as prefix to routines. If GNAT_UNICODE_SUPPORT is defined then the unicode enabled versions will be used. */ --- 59,64 ---- diff -Nrcpad gcc-7.2.0/gcc/ada/s-osinte-rtems.ads gcc-7.3.0/gcc/ada/s-osinte-rtems.ads *** gcc-7.2.0/gcc/ada/s-osinte-rtems.ads Tue May 31 18:59:36 2016 --- gcc-7.3.0/gcc/ada/s-osinte-rtems.ads Mon Dec 4 13:41:46 2017 *************** private *** 620,626 **** type pid_t is new int; ! type time_t is new long; type timespec is record tv_sec : time_t; --- 620,626 ---- type pid_t is new int; ! type time_t is new Long_Long_Integer; type timespec is record tv_sec : time_t; *************** private *** 649,669 **** Data : char_array (1 .. OS_Constants.PTHREAD_MUTEXATTR_SIZE); end record; pragma Convention (C, pthread_mutexattr_t); ! for pthread_mutexattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_rwlockattr_t is record Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCKATTR_SIZE); end record; pragma Convention (C, pthread_rwlockattr_t); ! for pthread_rwlockattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_t is new rtems_id; ! type pthread_mutex_t is new rtems_id; ! type pthread_rwlock_t is new rtems_id; ! type pthread_cond_t is new rtems_id; type pthread_key_t is new rtems_id; --- 649,681 ---- Data : char_array (1 .. OS_Constants.PTHREAD_MUTEXATTR_SIZE); end record; pragma Convention (C, pthread_mutexattr_t); ! for pthread_mutexattr_t'Alignment use Interfaces.C.int'Alignment; type pthread_rwlockattr_t is record Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCKATTR_SIZE); end record; pragma Convention (C, pthread_rwlockattr_t); ! for pthread_rwlockattr_t'Alignment use Interfaces.C.int'Alignment; type pthread_t is new rtems_id; ! type pthread_mutex_t is record ! Data : char_array (1 .. OS_Constants.PTHREAD_MUTEX_SIZE); ! end record; ! pragma Convention (C, pthread_mutex_t); ! for pthread_mutex_t'Alignment use Interfaces.C.double'Alignment; ! type pthread_rwlock_t is record ! Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCK_SIZE); ! end record; ! pragma Convention (C, pthread_rwlock_t); ! for pthread_rwlock_t'Alignment use Interfaces.C.size_t'Alignment; ! type pthread_cond_t is record ! Data : char_array (1 .. OS_Constants.PTHREAD_COND_SIZE); ! end record; ! pragma Convention (C, pthread_cond_t); ! for pthread_cond_t'Alignment use Interfaces.C.size_t'Alignment; type pthread_key_t is new rtems_id; diff -Nrcpad gcc-7.2.0/gcc/ada/s-osprim-rtems.adb gcc-7.3.0/gcc/ada/s-osprim-rtems.adb *** gcc-7.2.0/gcc/ada/s-osprim-rtems.adb Thu Jan 1 00:00:00 1970 --- gcc-7.3.0/gcc/ada/s-osprim-rtems.adb Mon Dec 4 13:41:46 2017 *************** *** 0 **** --- 1,172 ---- + ------------------------------------------------------------------------------ + -- -- + -- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- + -- -- + -- S Y S T E M . O S _ P R I M I T I V E S -- + -- -- + -- B o d y -- + -- -- + -- Copyright (C) 1998-2015, Free Software Foundation, Inc. -- + -- -- + -- GNARL is free software; you can redistribute it and/or modify it under -- + -- terms of the GNU General Public License as published by the Free Soft- -- + -- ware Foundation; either version 3, or (at your option) any later ver- -- + -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- + -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- + -- or FITNESS FOR A PARTICULAR PURPOSE. -- + -- -- + -- As a special exception under Section 7 of GPL version 3, you are granted -- + -- additional permissions described in the GCC Runtime Library Exception, -- + -- version 3.1, as published by the Free Software Foundation. -- + -- -- + -- You should have received a copy of the GNU General Public License and -- + -- a copy of the GCC Runtime Library Exception along with this program; -- + -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- + -- . -- + -- -- + -- GNARL was developed by the GNARL team at Florida State University. -- + -- Extensive contributions were provided by Ada Core Technologies, Inc. -- + -- -- + ------------------------------------------------------------------------------ + + -- This version is for POSIX-like operating systems + + package body System.OS_Primitives is + + -- ??? These definitions are duplicated from System.OS_Interface + -- because we don't want to depend on any package. Consider removing + -- these declarations in System.OS_Interface and move these ones in + -- the spec. + + type time_t is new Long_Long_Integer; + + type timespec is record + tv_sec : time_t; + tv_nsec : Long_Integer; + end record; + pragma Convention (C, timespec); + + function nanosleep (rqtp, rmtp : not null access timespec) return Integer; + pragma Import (C, nanosleep, "nanosleep"); + + ----------- + -- Clock -- + ----------- + + function Clock return Duration is + + type timeval is record + tv_sec : time_t; + tv_usec : Long_Integer; + end record; + pragma Convention (C, timeval); + + procedure timeval_to_duration + (T : not null access timeval; + sec : not null access Long_Long_Integer; + usec : not null access Long_Integer); + pragma Import (C, timeval_to_duration, "__gnat_timeval_to_duration"); + + Micro : constant := 10**6; + sec : aliased Long_Long_Integer; + usec : aliased Long_Integer; + TV : aliased timeval; + Result : Integer; + pragma Unreferenced (Result); + + function gettimeofday + (Tv : access timeval; + Tz : System.Address := System.Null_Address) return Integer; + pragma Import (C, gettimeofday, "gettimeofday"); + + begin + -- The return codes for gettimeofday are as follows (from man pages): + -- EPERM settimeofday is called by someone other than the superuser + -- EINVAL Timezone (or something else) is invalid + -- EFAULT One of tv or tz pointed outside accessible address space + + -- None of these codes signal a potential clock skew, hence the return + -- value is never checked. + + Result := gettimeofday (TV'Access, System.Null_Address); + timeval_to_duration (TV'Access, sec'Access, usec'Access); + return Duration (sec) + Duration (usec) / Micro; + end Clock; + + ----------------- + -- To_Timespec -- + ----------------- + + function To_Timespec (D : Duration) return timespec; + + function To_Timespec (D : Duration) return timespec is + S : time_t; + F : Duration; + + begin + S := time_t (Long_Long_Integer (D)); + F := D - Duration (S); + + -- If F has negative value due to a round-up, adjust for positive F + -- value. + + if F < 0.0 then + S := S - 1; + F := F + 1.0; + end if; + + return + timespec'(tv_sec => S, + tv_nsec => Long_Integer (Long_Long_Integer (F * 10#1#E9))); + end To_Timespec; + + ----------------- + -- Timed_Delay -- + ----------------- + + procedure Timed_Delay + (Time : Duration; + Mode : Integer) + is + Request : aliased timespec; + Remaind : aliased timespec; + Rel_Time : Duration; + Abs_Time : Duration; + Base_Time : constant Duration := Clock; + Check_Time : Duration := Base_Time; + + Result : Integer; + pragma Unreferenced (Result); + + begin + if Mode = Relative then + Rel_Time := Time; + Abs_Time := Time + Check_Time; + else + Rel_Time := Time - Check_Time; + Abs_Time := Time; + end if; + + if Rel_Time > 0.0 then + loop + Request := To_Timespec (Rel_Time); + Result := nanosleep (Request'Access, Remaind'Access); + Check_Time := Clock; + + exit when Abs_Time <= Check_Time or else Check_Time < Base_Time; + + Rel_Time := Abs_Time - Check_Time; + end loop; + end if; + end Timed_Delay; + + ---------------- + -- Initialize -- + ---------------- + + procedure Initialize is + begin + null; + end Initialize; + + end System.OS_Primitives; diff -Nrcpad gcc-7.2.0/gcc/ada/sem_ch3.adb gcc-7.3.0/gcc/ada/sem_ch3.adb *** gcc-7.2.0/gcc/ada/sem_ch3.adb Tue Apr 4 06:33:33 2017 --- gcc-7.3.0/gcc/ada/sem_ch3.adb Sat Sep 9 12:06:48 2017 *************** package body Sem_Ch3 is *** 21211,21219 **** Error_Msg_N ("invalid subtype mark in subtype indication", S); end case; ! -- Size and Convention are always inherited from the base type Set_Size_Info (Def_Id, (Subtype_Mark_Id)); Set_Convention (Def_Id, Convention (Subtype_Mark_Id)); return Def_Id; --- 21211,21221 ---- Error_Msg_N ("invalid subtype mark in subtype indication", S); end case; ! -- Size, Alignment, Representation aspects and Convention are always ! -- inherited from the base type. Set_Size_Info (Def_Id, (Subtype_Mark_Id)); + Set_Rep_Info (Def_Id, (Subtype_Mark_Id)); Set_Convention (Def_Id, Convention (Subtype_Mark_Id)); return Def_Id; diff -Nrcpad gcc-7.2.0/gcc/ada/sem_util.adb gcc-7.3.0/gcc/ada/sem_util.adb *** gcc-7.2.0/gcc/ada/sem_util.adb Mon Apr 3 22:30:56 2017 --- gcc-7.3.0/gcc/ada/sem_util.adb Sat Sep 9 12:06:48 2017 *************** package body Sem_Util is *** 20302,20307 **** --- 20302,20321 ---- end if; end Set_Referenced_Modified; + ------------------ + -- Set_Rep_Info -- + ------------------ + + procedure Set_Rep_Info (T1, T2 : Entity_Id) is + begin + Set_Is_Atomic (T1, Is_Atomic (T2)); + Set_Is_Independent (T1, Is_Independent (T2)); + Set_Is_Volatile_Full_Access (T1, Is_Volatile_Full_Access (T2)); + if Is_Base_Type (T1) then + Set_Is_Volatile (T1, Is_Volatile (T2)); + end if; + end Set_Rep_Info; + ---------------------------- -- Set_Scope_Is_Transient -- ---------------------------- diff -Nrcpad gcc-7.2.0/gcc/ada/sem_util.ads gcc-7.3.0/gcc/ada/sem_util.ads *** gcc-7.2.0/gcc/ada/sem_util.ads Mon Apr 3 22:30:56 2017 --- gcc-7.3.0/gcc/ada/sem_util.ads Sat Sep 9 12:06:48 2017 *************** package Sem_Util is *** 2313,2318 **** --- 2313,2324 ---- -- (Referenced_As_LHS if Out_Param is False, Referenced_As_Out_Parameter -- if Out_Param is True) is set True, and the other flag set False. + procedure Set_Rep_Info (T1, T2 : Entity_Id); + pragma Inline (Set_Rep_Info); + -- Copies the Is_Atomic, Is_Independent and Is_Volatile_Full_Access flags + -- from sub(type) entity T2 to (sub)type entity T1, as well as Is_Volatile + -- if T1 is a base type. + procedure Set_Scope_Is_Transient (V : Boolean := True); -- Set the flag Is_Transient of the current scope diff -Nrcpad gcc-7.2.0/gcc/ada/sysdep.c gcc-7.3.0/gcc/ada/sysdep.c *** gcc-7.2.0/gcc/ada/sysdep.c Thu Jan 12 16:01:16 2017 --- gcc-7.3.0/gcc/ada/sysdep.c Thu Oct 5 16:32:40 2017 *************** extern struct tm *localtime_r(const time *** 126,132 **** */ ! #if defined (WINNT) || defined (__CYGWIN__) || defined(__DJGPP__) const char __gnat_text_translation_required = 1; --- 126,132 ---- */ ! #if defined (WINNT) || defined (__CYGWIN__) || defined (__DJGPP__) const char __gnat_text_translation_required = 1; *************** const char __gnat_text_translation_requi *** 137,143 **** #define WIN_SETMODE _setmode #endif ! #if defined(__DJGPP__) #include #define _setmode setmode #endif /* __DJGPP__ */ --- 137,143 ---- #define WIN_SETMODE _setmode #endif ! #if defined (__DJGPP__) #include #define _setmode setmode #endif /* __DJGPP__ */ *************** __gnat_set_text_mode (int handle) *** 154,160 **** WIN_SETMODE (handle, O_TEXT); } ! #ifdef __DJGPP__ void __gnat_set_mode (int handle, int mode) { --- 154,160 ---- WIN_SETMODE (handle, O_TEXT); } ! #if defined (__CYGWIN__) || defined (__DJGPP__) void __gnat_set_mode (int handle, int mode) { *************** __gnat_localtime_tzoff (const time_t *ti *** 826,832 **** #elif defined (__APPLE__) || defined (__FreeBSD__) || defined (__linux__) \ || defined (__GLIBC__) || defined (__DragonFly__) || defined (__OpenBSD__) \ ! || defined(__DJGPP__) { localtime_r (timer, &tp); *off = tp.tm_gmtoff; --- 826,832 ---- #elif defined (__APPLE__) || defined (__FreeBSD__) || defined (__linux__) \ || defined (__GLIBC__) || defined (__DragonFly__) || defined (__OpenBSD__) \ ! || defined (__DJGPP__) { localtime_r (timer, &tp); *off = tp.tm_gmtoff; diff -Nrcpad gcc-7.2.0/gcc/asan.c gcc-7.3.0/gcc/asan.c *** gcc-7.2.0/gcc/asan.c Thu Jul 27 07:31:19 2017 --- gcc-7.3.0/gcc/asan.c Tue Nov 21 16:00:26 2017 *************** create_odr_indicator (tree decl, tree ty *** 2315,2323 **** /* DECL_NAME theoretically might be NULL. Bail out with 0 in this case. */ if (decl_name == NULL_TREE) return build_int_cst (uptr, 0); ! size_t len = strlen (IDENTIFIER_POINTER (decl_name)) + sizeof ("__odr_asan_"); name = XALLOCAVEC (char, len); ! snprintf (name, len, "__odr_asan_%s", IDENTIFIER_POINTER (decl_name)); #ifndef NO_DOT_IN_LABEL name[sizeof ("__odr_asan") - 1] = '.'; #elif !defined(NO_DOLLAR_IN_LABEL) --- 2315,2326 ---- /* DECL_NAME theoretically might be NULL. Bail out with 0 in this case. */ if (decl_name == NULL_TREE) return build_int_cst (uptr, 0); ! const char *dname = IDENTIFIER_POINTER (decl_name); ! if (HAS_DECL_ASSEMBLER_NAME_P (decl)) ! dname = targetm.strip_name_encoding (dname); ! size_t len = strlen (dname) + sizeof ("__odr_asan_"); name = XALLOCAVEC (char, len); ! snprintf (name, len, "__odr_asan_%s", dname); #ifndef NO_DOT_IN_LABEL name[sizeof ("__odr_asan") - 1] = '.'; #elif !defined(NO_DOLLAR_IN_LABEL) *************** asan_expand_poison_ifn (gimple_stmt_iter *** 3158,3163 **** --- 3161,3170 ---- { edge e = gimple_phi_arg_edge (phi, i); + /* Do not insert on an edge we can't split. */ + if (e->flags & EDGE_ABNORMAL) + continue; + if (call_to_insert == NULL) call_to_insert = gimple_copy (call); diff -Nrcpad gcc-7.2.0/gcc/bb-reorder.c gcc-7.3.0/gcc/bb-reorder.c *** gcc-7.2.0/gcc/bb-reorder.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/bb-reorder.c Fri Dec 22 08:53:37 2017 *************** reorder_basic_blocks_simple (void) *** 2405,2411 **** basic_block last_tail = (basic_block) ENTRY_BLOCK_PTR_FOR_FN (cfun)->aux; ! int current_partition = BB_PARTITION (last_tail); bool need_another_pass = true; for (int pass = 0; pass < 2 && need_another_pass; pass++) --- 2405,2414 ---- basic_block last_tail = (basic_block) ENTRY_BLOCK_PTR_FOR_FN (cfun)->aux; ! int current_partition ! = BB_PARTITION (last_tail == ENTRY_BLOCK_PTR_FOR_FN (cfun) ! ? EDGE_SUCC (ENTRY_BLOCK_PTR_FOR_FN (cfun), 0)->dest ! : last_tail); bool need_another_pass = true; for (int pass = 0; pass < 2 && need_another_pass; pass++) *************** reorder_basic_blocks_simple (void) *** 2446,2452 **** { force_nonfallthru (e); e->src->aux = ENTRY_BLOCK_PTR_FOR_FN (cfun)->aux; - BB_COPY_PARTITION (e->src, e->dest); } } --- 2449,2454 ---- *************** pass_partition_blocks::execute (function *** 2881,2887 **** crossing_edges = find_rarely_executed_basic_blocks_and_crossing_edges (); if (!crossing_edges.exists ()) ! return 0; crtl->has_bb_partition = true; --- 2883,2890 ---- crossing_edges = find_rarely_executed_basic_blocks_and_crossing_edges (); if (!crossing_edges.exists ()) ! /* Make sure to process deferred rescans and clear changeable df flags. */ ! return TODO_df_finish; crtl->has_bb_partition = true; *************** pass_partition_blocks::execute (function *** 2947,2953 **** df_analyze (); } ! return 0; } } // anon namespace --- 2950,2957 ---- df_analyze (); } ! /* Make sure to process deferred rescans and clear changeable df flags. */ ! return TODO_df_finish; } } // anon namespace diff -Nrcpad gcc-7.2.0/gcc/brig/ChangeLog gcc-7.3.0/gcc/brig/ChangeLog *** gcc-7.2.0/gcc/brig/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/brig/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/builtins.c gcc-7.3.0/gcc/builtins.c *** gcc-7.2.0/gcc/builtins.c Tue Jun 27 16:43:35 2017 --- gcc-7.3.0/gcc/builtins.c Tue Oct 24 22:46:19 2017 *************** void *** 1194,1199 **** --- 1194,1200 ---- expand_builtin_update_setjmp_buf (rtx buf_addr) { machine_mode sa_mode = STACK_SAVEAREA_MODE (SAVE_NONLOCAL); + buf_addr = convert_memory_address (Pmode, buf_addr); rtx stack_save = gen_rtx_MEM (sa_mode, memory_address diff -Nrcpad gcc-7.2.0/gcc/c/ChangeLog gcc-7.3.0/gcc/c/ChangeLog *** gcc-7.2.0/gcc/c/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/c/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,32 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2017-12-22 Jakub Jelinek + + PR debug/83550 + * c-decl.c (finish_struct): Set DECL_SOURCE_LOCATION on + TYPE_STUB_DECL and call rest_of_type_compilation before processing + incomplete vars rather than after it. + + 2017-12-10 Tom de Vries + + backport from trunk: + PR c/81875 + 2017-09-16 Tom de Vries + + * c-parser.c (c_parser_omp_for_loop): Fold only operands of cond, not + cond itself. + + 2017-09-30 Jakub Jelinek + + Backported from mainline + 2017-09-29 Jakub Jelinek + + PR c/82340 + * c-decl.c (build_compound_literal): Use c_apply_type_quals_to_decl + instead of trying to set just TREE_READONLY manually. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/c/c-decl.c gcc-7.3.0/gcc/c/c-decl.c *** gcc-7.2.0/gcc/c/c-decl.c Fri May 26 11:17:34 2017 --- gcc-7.3.0/gcc/c/c-decl.c Fri Dec 22 18:12:15 2017 *************** build_compound_literal (location_t loc, *** 5264,5272 **** DECL_ARTIFICIAL (decl) = 1; DECL_IGNORED_P (decl) = 1; TREE_TYPE (decl) = type; ! TREE_READONLY (decl) = (TYPE_READONLY (type) ! || (TREE_CODE (type) == ARRAY_TYPE ! && TYPE_READONLY (TREE_TYPE (type)))); store_init_value (loc, decl, init, NULL_TREE); if (TREE_CODE (type) == ARRAY_TYPE && !COMPLETE_TYPE_P (type)) --- 5264,5270 ---- DECL_ARTIFICIAL (decl) = 1; DECL_IGNORED_P (decl) = 1; TREE_TYPE (decl) = type; ! c_apply_type_quals_to_decl (TYPE_QUALS (strip_array_types (type)), decl); store_init_value (loc, decl, init, NULL_TREE); if (TREE_CODE (type) == ARRAY_TYPE && !COMPLETE_TYPE_P (type)) *************** finish_struct (location_t loc, tree t, t *** 8125,8130 **** --- 8123,8136 ---- warning_at (loc, 0, "union cannot be made transparent"); } + /* Update type location to the one of the definition, instead of e.g. + a forward declaration. */ + if (TYPE_STUB_DECL (t)) + DECL_SOURCE_LOCATION (TYPE_STUB_DECL (t)) = loc; + + /* Finish debugging output for this type. */ + rest_of_type_compilation (t, toplevel); + /* If this structure or union completes the type of any previous variable declaration, lay it out and output its rtl. */ for (x = incomplete_vars; x; x = TREE_CHAIN (x)) *************** finish_struct (location_t loc, tree t, t *** 8141,8154 **** } } - /* Update type location to the one of the definition, instead of e.g. - a forward declaration. */ - if (TYPE_STUB_DECL (t)) - DECL_SOURCE_LOCATION (TYPE_STUB_DECL (t)) = loc; - - /* Finish debugging output for this type. */ - rest_of_type_compilation (t, toplevel); - /* If we're inside a function proper, i.e. not file-scope and not still parsing parameters, then arrange for the size of a variable sized type to be bound now. */ --- 8147,8152 ---- diff -Nrcpad gcc-7.2.0/gcc/c/c-parser.c gcc-7.3.0/gcc/c/c-parser.c *** gcc-7.2.0/gcc/c/c-parser.c Fri Mar 17 21:50:16 2017 --- gcc-7.3.0/gcc/c/c-parser.c Sun Dec 10 20:52:54 2017 *************** c_parser_omp_for_loop (location_t loc, c *** 15032,15038 **** cond = cond_expr.value; cond = c_objc_common_truthvalue_conversion (cond_loc, cond); ! cond = c_fully_fold (cond, false, NULL); switch (cond_expr.original_code) { case GT_EXPR: --- 15032,15045 ---- cond = cond_expr.value; cond = c_objc_common_truthvalue_conversion (cond_loc, cond); ! if (COMPARISON_CLASS_P (cond)) ! { ! tree op0 = TREE_OPERAND (cond, 0), op1 = TREE_OPERAND (cond, 1); ! op0 = c_fully_fold (op0, false, NULL); ! op1 = c_fully_fold (op1, false, NULL); ! TREE_OPERAND (cond, 0) = op0; ! TREE_OPERAND (cond, 1) = op1; ! } switch (cond_expr.original_code) { case GT_EXPR: diff -Nrcpad gcc-7.2.0/gcc/c-family/ChangeLog gcc-7.3.0/gcc/c-family/ChangeLog *** gcc-7.2.0/gcc/c-family/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/c-family/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,62 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2017-12-15 Jakub Jelinek + + Backported from mainline + 2017-11-21 Jakub Jelinek + + PR c++/83059 + * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW + instead of tree_to_uhwi, formatting fix. + + 2017-09-15 Jakub Jelinek + + Backported from mainline + 2017-09-12 Jakub Jelinek + + PR target/82112 + * c-common.c (sync_resolve_size): Instead of c_dialect_cxx () + assertion check that in the condition. + (get_atomic_generic_size): Likewise. Before testing if parameter + has pointer type, if it has array type, call for C++ + default_conversion to perform array-to-pointer conversion. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-08-29 Martin Liska + + PR other/39851 + * c-common.c (parse_optimize_options): Add argument to function + call. + * c-pragma.c (handle_pragma_diagnostic): Likewise. + + 2017-09-15 Martin Liska + + Backport from mainline + 2017-06-28 Martin Liska + + PR ipa/81128 + * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias + to a function declaration. + + 2017-09-10 Jonathan Wakely + + PR c++/81852 + * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init. + + 2017-09-07 Jakub Jelinek + + Backported from mainline + 2017-07-27 Jakub Jelinek + + PR c/45784 + * c-omp.c (c_finish_omp_for): If the condition is wrapped in + rhs of COMPOUND_EXPR(s), skip them and readd their lhs into + new COMPOUND_EXPRs around the rhs of the comparison. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/c-family/c-attribs.c gcc-7.3.0/gcc/c-family/c-attribs.c *** gcc-7.2.0/gcc/c-family/c-attribs.c Thu Mar 9 22:45:39 2017 --- gcc-7.3.0/gcc/c-family/c-attribs.c Tue Sep 19 09:02:33 2017 *************** handle_alias_ifunc_attribute (bool is_al *** 1764,1772 **** TREE_STATIC (decl) = 1; if (!is_alias) ! /* ifuncs are also aliases, so set that attribute too. */ ! DECL_ATTRIBUTES (decl) ! = tree_cons (get_identifier ("alias"), args, DECL_ATTRIBUTES (decl)); } else { --- 1764,1777 ---- TREE_STATIC (decl) = 1; if (!is_alias) ! { ! /* ifuncs are also aliases, so set that attribute too. */ ! DECL_ATTRIBUTES (decl) ! = tree_cons (get_identifier ("alias"), args, ! DECL_ATTRIBUTES (decl)); ! DECL_ATTRIBUTES (decl) = tree_cons (get_identifier ("ifunc"), ! NULL, DECL_ATTRIBUTES (decl)); ! } } else { diff -Nrcpad gcc-7.2.0/gcc/c-family/c-common.c gcc-7.3.0/gcc/c-family/c-common.c *** gcc-7.2.0/gcc/c-family/c-common.c Thu Apr 27 13:47:54 2017 --- gcc-7.3.0/gcc/c-family/c-common.c Fri Dec 15 21:50:52 2017 *************** parse_optimize_options (tree args, bool *** 5597,5603 **** /* And apply them. */ decode_options (&global_options, &global_options_set, decoded_options, decoded_options_count, ! input_location, global_dc); targetm.override_options_after_change(); --- 5597,5603 ---- /* And apply them. */ decode_options (&global_options, &global_options_set, decoded_options, decoded_options_count, ! input_location, global_dc, NULL); targetm.override_options_after_change(); *************** sync_resolve_size (tree function, vec= MEMMODEL_LAST)) ! { ! warning_at (loc, OPT_Winvalid_memory_model, ! "invalid memory model argument %d of %qE", x + 1, ! function); ! } } else if (!INTEGRAL_TYPE_P (TREE_TYPE (p))) --- 6823,6836 ---- tree p = (*params)[x]; if (TREE_CODE (p) == INTEGER_CST) { ! /* memmodel_base masks the low 16 bits, thus ignore any bits above ! it by using TREE_INT_CST_LOW instead of tree_to_*hwi. Those high ! bits will be checked later during expansion in target specific ! way. */ ! if (memmodel_base (TREE_INT_CST_LOW (p)) >= MEMMODEL_LAST) ! warning_at (loc, OPT_Winvalid_memory_model, ! "invalid memory model argument %d of %qE", x + 1, ! function); } else if (!INTEGRAL_TYPE_P (TREE_TYPE (p))) diff -Nrcpad gcc-7.2.0/gcc/c-family/c-cppbuiltin.c gcc-7.3.0/gcc/c-family/c-cppbuiltin.c *** gcc-7.2.0/gcc/c-family/c-cppbuiltin.c Fri Feb 17 23:04:14 2017 --- gcc-7.3.0/gcc/c-family/c-cppbuiltin.c Sun Sep 10 08:44:04 2017 *************** c_cpp_builtins (cpp_reader *pfile) *** 987,992 **** --- 987,994 ---- } if (flag_new_ttp) cpp_define (pfile, "__cpp_template_template_args=201611"); + if (flag_threadsafe_statics) + cpp_define (pfile, "__cpp_threadsafe_static_init=200806"); } /* Note that we define this for C as well, so that we know if __attribute__((cleanup)) will interface with EH. */ diff -Nrcpad gcc-7.2.0/gcc/c-family/c-omp.c gcc-7.3.0/gcc/c-family/c-omp.c *** gcc-7.2.0/gcc/c-family/c-omp.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/c-family/c-omp.c Thu Sep 7 20:18:45 2017 *************** c_finish_omp_for (location_t locus, enum *** 531,536 **** --- 531,542 ---- { bool cond_ok = false; + /* E.g. C sizeof (vla) could add COMPOUND_EXPRs with + evaluation of the vla VAR_DECL. We need to readd + them to the non-decl operand. See PR45784. */ + while (TREE_CODE (cond) == COMPOUND_EXPR) + cond = TREE_OPERAND (cond, 1); + if (EXPR_HAS_LOCATION (cond)) elocus = EXPR_LOCATION (cond); *************** c_finish_omp_for (location_t locus, enum *** 605,610 **** --- 611,631 ---- else if (code != CILK_SIMD && code != CILK_FOR) cond_ok = false; } + + if (cond_ok && TREE_VEC_ELT (condv, i) != cond) + { + tree ce = NULL_TREE, *pce = &ce; + tree type = TREE_TYPE (TREE_OPERAND (cond, 1)); + for (tree c = TREE_VEC_ELT (condv, i); c != cond; + c = TREE_OPERAND (c, 1)) + { + *pce = build2 (COMPOUND_EXPR, type, TREE_OPERAND (c, 0), + TREE_OPERAND (cond, 1)); + pce = &TREE_OPERAND (*pce, 1); + } + TREE_OPERAND (cond, 1) = ce; + TREE_VEC_ELT (condv, i) = cond; + } } if (!cond_ok) diff -Nrcpad gcc-7.2.0/gcc/c-family/c-pragma.c gcc-7.3.0/gcc/c-family/c-pragma.c *** gcc-7.2.0/gcc/c-family/c-pragma.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/c-family/c-pragma.c Fri Sep 15 08:18:34 2017 *************** handle_pragma_diagnostic(cpp_reader *ARG *** 815,821 **** } struct cl_option_handlers handlers; ! set_default_handlers (&handlers); const char *arg = NULL; if (cl_options[option_index].flags & CL_JOINED) arg = option_string + 1 + cl_options[option_index].opt_len; --- 815,821 ---- } struct cl_option_handlers handlers; ! set_default_handlers (&handlers, NULL); const char *arg = NULL; if (cl_options[option_index].flags & CL_JOINED) arg = option_string + 1 + cl_options[option_index].opt_len; diff -Nrcpad gcc-7.2.0/gcc/calls.c gcc-7.3.0/gcc/calls.c *** gcc-7.2.0/gcc/calls.c Sat Jun 24 11:05:12 2017 --- gcc-7.3.0/gcc/calls.c Thu Sep 7 20:20:43 2017 *************** alloc_max_size (void) *** 1220,1251 **** else if (!strcasecmp (end, "KiB") || strcmp (end, "KB")) unit = 1024; else if (!strcmp (end, "MB")) ! unit = 1000LU * 1000; else if (!strcasecmp (end, "MiB")) ! unit = 1024LU * 1024; else if (!strcasecmp (end, "GB")) ! unit = 1000LU * 1000 * 1000; else if (!strcasecmp (end, "GiB")) ! unit = 1024LU * 1024 * 1024; else if (!strcasecmp (end, "TB")) ! unit = 1000LU * 1000 * 1000 * 1000; else if (!strcasecmp (end, "TiB")) ! unit = 1024LU * 1024 * 1024 * 1024; else if (!strcasecmp (end, "PB")) ! unit = 1000LU * 1000 * 1000 * 1000 * 1000; else if (!strcasecmp (end, "PiB")) ! unit = 1024LU * 1024 * 1024 * 1024 * 1024; else if (!strcasecmp (end, "EB")) ! unit = 1000LU * 1000 * 1000 * 1000 * 1000 * 1000; else if (!strcasecmp (end, "EiB")) ! unit = 1024LU * 1024 * 1024 * 1024 * 1024 * 1024; else unit = 0; } if (unit) ! alloc_object_size_limit ! = build_int_cst (ssizetype, limit * unit); } } } --- 1220,1257 ---- else if (!strcasecmp (end, "KiB") || strcmp (end, "KB")) unit = 1024; else if (!strcmp (end, "MB")) ! unit = HOST_WIDE_INT_UC (1000) * 1000; else if (!strcasecmp (end, "MiB")) ! unit = HOST_WIDE_INT_UC (1024) * 1024; else if (!strcasecmp (end, "GB")) ! unit = HOST_WIDE_INT_UC (1000) * 1000 * 1000; else if (!strcasecmp (end, "GiB")) ! unit = HOST_WIDE_INT_UC (1024) * 1024 * 1024; else if (!strcasecmp (end, "TB")) ! unit = HOST_WIDE_INT_UC (1000) * 1000 * 1000 * 1000; else if (!strcasecmp (end, "TiB")) ! unit = HOST_WIDE_INT_UC (1024) * 1024 * 1024 * 1024; else if (!strcasecmp (end, "PB")) ! unit = HOST_WIDE_INT_UC (1000) * 1000 * 1000 * 1000 * 1000; else if (!strcasecmp (end, "PiB")) ! unit = HOST_WIDE_INT_UC (1024) * 1024 * 1024 * 1024 * 1024; else if (!strcasecmp (end, "EB")) ! unit = HOST_WIDE_INT_UC (1000) * 1000 * 1000 * 1000 * 1000 ! * 1000; else if (!strcasecmp (end, "EiB")) ! unit = HOST_WIDE_INT_UC (1024) * 1024 * 1024 * 1024 * 1024 ! * 1024; else unit = 0; } if (unit) ! { ! wide_int w = wi::uhwi (limit, HOST_BITS_PER_WIDE_INT + 64); ! w *= unit; ! if (wi::ltu_p (w, alloc_object_size_limit)) ! alloc_object_size_limit = wide_int_to_tree (ssizetype, w); ! } } } } diff -Nrcpad gcc-7.2.0/gcc/cfgbuild.c gcc-7.3.0/gcc/cfgbuild.c *** gcc-7.2.0/gcc/cfgbuild.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/cfgbuild.c Fri Sep 15 11:26:03 2017 *************** find_bb_boundaries (basic_block bb) *** 442,450 **** rtx_insn *end = BB_END (bb), *x; rtx_jump_table_data *table; rtx_insn *flow_transfer_insn = NULL; edge fallthru = NULL; ! if (insn == BB_END (bb)) return; if (LABEL_P (insn)) --- 442,451 ---- rtx_insn *end = BB_END (bb), *x; rtx_jump_table_data *table; rtx_insn *flow_transfer_insn = NULL; + rtx_insn *debug_insn = NULL; edge fallthru = NULL; ! if (insn == end) return; if (LABEL_P (insn)) *************** find_bb_boundaries (basic_block bb) *** 455,481 **** { enum rtx_code code = GET_CODE (insn); /* In case we've previously seen an insn that effects a control flow transfer, split the block. */ ! if ((flow_transfer_insn || code == CODE_LABEL) ! && inside_basic_block_p (insn)) { ! fallthru = split_block (bb, PREV_INSN (insn)); if (flow_transfer_insn) { BB_END (bb) = flow_transfer_insn; /* Clean up the bb field for the insns between the blocks. */ for (x = NEXT_INSN (flow_transfer_insn); x != BB_HEAD (fallthru->dest); ! x = NEXT_INSN (x)) ! if (!BARRIER_P (x)) ! set_block_for_insn (x, NULL); } bb = fallthru->dest; remove_edge (fallthru); flow_transfer_insn = NULL; if (code == CODE_LABEL && LABEL_ALT_ENTRY_P (insn)) make_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun), bb, 0); } --- 456,504 ---- { enum rtx_code code = GET_CODE (insn); + if (code == DEBUG_INSN) + { + if (flow_transfer_insn && !debug_insn) + debug_insn = insn; + } /* In case we've previously seen an insn that effects a control flow transfer, split the block. */ ! else if ((flow_transfer_insn || code == CODE_LABEL) ! && inside_basic_block_p (insn)) { ! rtx_insn *prev = PREV_INSN (insn); ! ! /* If the first non-debug inside_basic_block_p insn after a control ! flow transfer is not a label, split the block before the debug ! insn instead of before the non-debug insn, so that the debug ! insns are not lost. */ ! if (debug_insn && code != CODE_LABEL && code != BARRIER) ! prev = PREV_INSN (debug_insn); ! fallthru = split_block (bb, prev); if (flow_transfer_insn) { BB_END (bb) = flow_transfer_insn; + rtx_insn *next; /* Clean up the bb field for the insns between the blocks. */ for (x = NEXT_INSN (flow_transfer_insn); x != BB_HEAD (fallthru->dest); ! x = next) ! { ! next = NEXT_INSN (x); ! /* Debug insns should not be in between basic blocks, ! drop them on the floor. */ ! if (DEBUG_INSN_P (x)) ! delete_insn (x); ! else if (!BARRIER_P (x)) ! set_block_for_insn (x, NULL); ! } } bb = fallthru->dest; remove_edge (fallthru); flow_transfer_insn = NULL; + debug_insn = NULL; if (code == CODE_LABEL && LABEL_ALT_ENTRY_P (insn)) make_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun), bb, 0); } *************** find_bb_boundaries (basic_block bb) *** 498,514 **** /* In case expander replaced normal insn by sequence terminating by return and barrier, or possibly other sequence not behaving like ordinary jump, we need to take care and move basic block boundary. */ ! if (flow_transfer_insn) { BB_END (bb) = flow_transfer_insn; /* Clean up the bb field for the insns that do not belong to BB. */ ! x = flow_transfer_insn; ! while (x != end) { ! x = NEXT_INSN (x); ! if (!BARRIER_P (x)) set_block_for_insn (x, NULL); } } --- 521,543 ---- /* In case expander replaced normal insn by sequence terminating by return and barrier, or possibly other sequence not behaving like ordinary jump, we need to take care and move basic block boundary. */ ! if (flow_transfer_insn && flow_transfer_insn != end) { BB_END (bb) = flow_transfer_insn; /* Clean up the bb field for the insns that do not belong to BB. */ ! rtx_insn *next; ! for (x = NEXT_INSN (flow_transfer_insn); ; x = next) { ! next = NEXT_INSN (x); ! /* Debug insns should not be in between basic blocks, ! drop them on the floor. */ ! if (DEBUG_INSN_P (x)) ! delete_insn (x); ! else if (!BARRIER_P (x)) set_block_for_insn (x, NULL); + if (x == end) + break; } } diff -Nrcpad gcc-7.2.0/gcc/cfgrtl.c gcc-7.3.0/gcc/cfgrtl.c *** gcc-7.2.0/gcc/cfgrtl.c Tue Jan 24 17:07:36 2017 --- gcc-7.3.0/gcc/cfgrtl.c Fri Dec 22 08:53:37 2017 *************** force_nonfallthru_and_redirect (edge e, *** 1542,1547 **** --- 1542,1550 ---- basic_block bb = create_basic_block (BB_HEAD (e->dest), NULL, ENTRY_BLOCK_PTR_FOR_FN (cfun)); + /* Make sure new block ends up in correct hot/cold section. */ + BB_COPY_PARTITION (bb, e->dest); + /* Change the existing edge's source to be the new block, and add a new edge from the entry block to the new block. */ e->src = bb; diff -Nrcpad gcc-7.2.0/gcc/cgraphunit.c gcc-7.3.0/gcc/cgraphunit.c *** gcc-7.2.0/gcc/cgraphunit.c Mon Apr 3 22:30:56 2017 --- gcc-7.3.0/gcc/cgraphunit.c Fri Jan 12 05:32:31 2018 *************** symbol_table::compile (void) *** 2487,2492 **** --- 2487,2493 ---- timevar_pop (TV_CGRAPHOPT); /* Output everything. */ + switch_to_section (text_section); (*debug_hooks->assembly_start) (); if (!quiet_flag) fprintf (stderr, "Assembling functions:\n"); diff -Nrcpad gcc-7.2.0/gcc/cif-code.def gcc-7.3.0/gcc/cif-code.def *** gcc-7.2.0/gcc/cif-code.def Mon Jan 9 21:48:33 2017 --- gcc-7.3.0/gcc/cif-code.def Wed Jan 17 11:45:48 2018 *************** DEFCIFCODE(MISMATCHED_ARGUMENTS, CIF_FIN *** 95,100 **** --- 95,104 ---- DEFCIFCODE(LTO_MISMATCHED_DECLARATIONS, CIF_FINAL_ERROR, N_("mismatched declarations during linktime optimization")) + /* Caller is variadic thunk. */ + DEFCIFCODE(VARIADIC_THUNK, CIF_FINAL_ERROR, + N_("variadic thunk call")) + /* Call was originally indirect. */ DEFCIFCODE(ORIGINALLY_INDIRECT_CALL, CIF_FINAL_NORMAL, N_("originally indirect function call not considered for inlining")) diff -Nrcpad gcc-7.2.0/gcc/combine.c gcc-7.3.0/gcc/combine.c *** gcc-7.2.0/gcc/combine.c Tue Apr 25 07:29:21 2017 --- gcc-7.3.0/gcc/combine.c Sun Jan 14 15:45:38 2018 *************** try_combine (rtx_insn *i3, rtx_insn *i2, *** 2964,2970 **** && is_parallel_of_n_reg_sets (PATTERN (i2), 2) && can_split_parallel_of_n_reg_sets (i2, 2) && !reg_used_between_p (SET_DEST (XVECEXP (PATTERN (i2), 0, 0)), i2, i3) ! && !reg_used_between_p (SET_DEST (XVECEXP (PATTERN (i2), 0, 1)), i2, i3)) { /* If there is no I1, there is no I0 either. */ i0 = i1; --- 2964,2971 ---- && is_parallel_of_n_reg_sets (PATTERN (i2), 2) && can_split_parallel_of_n_reg_sets (i2, 2) && !reg_used_between_p (SET_DEST (XVECEXP (PATTERN (i2), 0, 0)), i2, i3) ! && !reg_used_between_p (SET_DEST (XVECEXP (PATTERN (i2), 0, 1)), i2, i3) ! && !find_reg_note (i2, REG_UNUSED, 0)) { /* If there is no I1, there is no I0 either. */ i0 = i1; *************** simplify_if_then_else (rtx x) *** 6540,6550 **** if (z) { ! temp = subst (simplify_gen_relational (true_code, m, VOIDmode, cond_op0, cond_op1), pc_rtx, pc_rtx, 0, 0, 0); ! temp = simplify_gen_binary (MULT, m, temp, ! simplify_gen_binary (MULT, m, c1, const_true_rtx)); temp = subst (temp, pc_rtx, pc_rtx, 0, 0, 0); temp = simplify_gen_binary (op, m, gen_lowpart (m, z), temp); --- 6541,6555 ---- if (z) { ! machine_mode cm = m; ! if ((op == ASHIFT || op == LSHIFTRT || op == ASHIFTRT) ! && GET_MODE (c1) != VOIDmode) ! cm = GET_MODE (c1); ! temp = subst (simplify_gen_relational (true_code, cm, VOIDmode, cond_op0, cond_op1), pc_rtx, pc_rtx, 0, 0, 0); ! temp = simplify_gen_binary (MULT, cm, temp, ! simplify_gen_binary (MULT, cm, c1, const_true_rtx)); temp = subst (temp, pc_rtx, pc_rtx, 0, 0, 0); temp = simplify_gen_binary (op, m, gen_lowpart (m, z), temp); *************** make_extraction (machine_mode mode, rtx *** 7397,7403 **** if (pos_rtx && CONST_INT_P (pos_rtx)) pos = INTVAL (pos_rtx), pos_rtx = 0; ! if (GET_CODE (inner) == SUBREG && subreg_lowpart_p (inner)) { /* If going from (subreg:SI (mem:QI ...)) to (mem:QI ...), consider just the QI as the memory to extract from. --- 7402,7415 ---- if (pos_rtx && CONST_INT_P (pos_rtx)) pos = INTVAL (pos_rtx), pos_rtx = 0; ! if (GET_CODE (inner) == SUBREG ! && subreg_lowpart_p (inner) ! && (paradoxical_subreg_p (inner) ! /* If trying or potentionally trying to extract ! bits outside of is_mode, don't look through ! non-paradoxical SUBREGs. See PR82192. */ ! || (pos_rtx == NULL_RTX ! && pos + len <= GET_MODE_PRECISION (is_mode)))) { /* If going from (subreg:SI (mem:QI ...)) to (mem:QI ...), consider just the QI as the memory to extract from. *************** make_extraction (machine_mode mode, rtx *** 7423,7429 **** if (new_rtx != 0) return gen_rtx_ASHIFT (mode, new_rtx, XEXP (inner, 1)); } ! else if (GET_CODE (inner) == TRUNCATE) inner = XEXP (inner, 0); inner_mode = GET_MODE (inner); --- 7435,7446 ---- if (new_rtx != 0) return gen_rtx_ASHIFT (mode, new_rtx, XEXP (inner, 1)); } ! else if (GET_CODE (inner) == TRUNCATE ! /* If trying or potentionally trying to extract ! bits outside of is_mode, don't look through ! TRUNCATE. See PR82192. */ ! && pos_rtx == NULL_RTX ! && pos + len <= GET_MODE_PRECISION (is_mode)) inner = XEXP (inner, 0); inner_mode = GET_MODE (inner); *************** force_to_mode (rtx x, machine_mode mode, *** 8768,8774 **** mask = fuller_mask; op0 = gen_lowpart_or_truncate (op_mode, ! force_to_mode (XEXP (x, 0), op_mode, mask, next_select)); if (op_mode != GET_MODE (x) || op0 != XEXP (x, 0)) --- 8785,8791 ---- mask = fuller_mask; op0 = gen_lowpart_or_truncate (op_mode, ! force_to_mode (XEXP (x, 0), mode, mask, next_select)); if (op_mode != GET_MODE (x) || op0 != XEXP (x, 0)) *************** distribute_notes (rtx notes, rtx_insn *f *** 14218,14223 **** --- 14235,14251 ---- && CALL_P (from_insn) && find_reg_fusage (from_insn, USE, XEXP (note, 0))) place = from_insn; + else if (i2 && reg_set_p (XEXP (note, 0), PATTERN (i2))) + { + /* If the new I2 sets the same register that is marked + dead in the note, we do not in general know where to + put the note. One important case we _can_ handle is + when the note comes from I3. */ + if (from_insn == i3) + place = i3; + else + break; + } else if (reg_referenced_p (XEXP (note, 0), PATTERN (i3))) place = i3; else if (i2 != 0 && next_nonnote_nondebug_insn (i2) == i3 *************** distribute_notes (rtx notes, rtx_insn *f *** 14231,14241 **** || rtx_equal_p (XEXP (note, 0), elim_i0)) break; tem_insn = i3; - /* If the new I2 sets the same register that is marked dead - in the note, we do not know where to put the note. - Give up. */ - if (i2 != 0 && reg_set_p (XEXP (note, 0), PATTERN (i2))) - break; } if (place == 0) --- 14259,14264 ---- diff -Nrcpad gcc-7.2.0/gcc/config/aarch64/aarch64.c gcc-7.3.0/gcc/config/aarch64/aarch64.c *** gcc-7.2.0/gcc/config/aarch64/aarch64.c Tue Jul 25 12:08:59 2017 --- gcc-7.3.0/gcc/config/aarch64/aarch64.c Fri Nov 3 15:01:10 2017 *************** aarch64_output_probe_stack_range (rtx re *** 2764,2775 **** static bool aarch64_frame_pointer_required (void) { ! /* In aarch64_override_options_after_change ! flag_omit_leaf_frame_pointer turns off the frame pointer by ! default. Turn it back on now if we've not got a leaf ! function. */ ! if (flag_omit_leaf_frame_pointer ! && (!crtl->is_leaf || df_regs_ever_live_p (LR_REGNUM))) return true; /* Force a frame pointer for EH returns so the return address is at FP+8. */ --- 2764,2776 ---- static bool aarch64_frame_pointer_required (void) { ! /* Use the frame pointer if enabled and it is not a leaf function, unless ! leaf frame pointer omission is disabled. If the frame pointer is enabled, ! force the frame pointer in leaf functions which use LR. */ ! if (flag_omit_frame_pointer == 2 ! && !(flag_omit_leaf_frame_pointer ! && crtl->is_leaf ! && !df_regs_ever_live_p (LR_REGNUM))) return true; /* Force a frame pointer for EH returns so the return address is at FP+8. */ *************** aarch64_can_eliminate (const int from, c *** 5623,5628 **** --- 5624,5630 ---- LR in the function, then we'll want a frame pointer after all, so prevent this elimination to ensure a frame pointer is used. */ if (to == STACK_POINTER_REGNUM + && flag_omit_frame_pointer == 2 && flag_omit_leaf_frame_pointer && df_regs_ever_live_p (LR_REGNUM)) return false; *************** aarch64_parse_override_string (const cha *** 8573,8596 **** static void aarch64_override_options_after_change_1 (struct gcc_options *opts) { ! /* The logic here is that if we are disabling all frame pointer generation ! then we do not need to disable leaf frame pointer generation as a ! separate operation. But if we are *only* disabling leaf frame pointer ! generation then we set flag_omit_frame_pointer to true, but in ! aarch64_frame_pointer_required we return false only for leaf functions. ! ! PR 70044: We have to be careful about being called multiple times for the ! same function. Once we have decided to set flag_omit_frame_pointer just ! so that we can omit leaf frame pointers, we must then not interpret a ! second call as meaning that all frame pointer generation should be ! omitted. We do this by setting flag_omit_frame_pointer to a special, ! non-zero value. */ ! if (opts->x_flag_omit_frame_pointer == 2) ! opts->x_flag_omit_frame_pointer = 0; ! if (opts->x_flag_omit_frame_pointer) ! opts->x_flag_omit_leaf_frame_pointer = false; ! else if (opts->x_flag_omit_leaf_frame_pointer) opts->x_flag_omit_frame_pointer = 2; /* If not optimizing for size, set the default --- 8575,8590 ---- static void aarch64_override_options_after_change_1 (struct gcc_options *opts) { ! /* PR 70044: We have to be careful about being called multiple times for the ! same function. This means all changes should be repeatable. */ ! /* If the frame pointer is enabled, set it to a special value that behaves ! similar to frame pointer omission. If we don't do this all leaf functions ! will get a frame pointer even if flag_omit_leaf_frame_pointer is set. ! If flag_omit_frame_pointer has this special value, we must force the ! frame pointer if not in a leaf function. We also need to force it in a ! leaf function if flag_omit_frame_pointer is not set or if LR is used. */ ! if (opts->x_flag_omit_frame_pointer == 0) opts->x_flag_omit_frame_pointer = 2; /* If not optimizing for size, set the default *************** aarch64_builtin_support_vector_misalignm *** 11509,11527 **** if (optab_handler (movmisalign_optab, mode) == CODE_FOR_nothing) return false; if (misalignment == -1) ! { ! /* Misalignment factor is unknown at compile time but we know ! it's word aligned. */ ! if (aarch64_simd_vector_alignment_reachable (type, is_packed)) ! { ! int element_size = TREE_INT_CST_LOW (TYPE_SIZE (type)); ! ! if (element_size != 64) ! return true; ! } ! return false; ! } } return default_builtin_support_vector_misalignment (mode, type, misalignment, is_packed); --- 11503,11511 ---- if (optab_handler (movmisalign_optab, mode) == CODE_FOR_nothing) return false; + /* Misalignment factor is unknown at compile time. */ if (misalignment == -1) ! return false; } return default_builtin_support_vector_misalignment (mode, type, misalignment, is_packed); diff -Nrcpad gcc-7.2.0/gcc/config/aarch64/aarch64.h gcc-7.3.0/gcc/config/aarch64/aarch64.h *** gcc-7.2.0/gcc/config/aarch64/aarch64.h Thu Jan 19 23:51:49 2017 --- gcc-7.3.0/gcc/config/aarch64/aarch64.h Thu Sep 21 12:16:31 2017 *************** extern const char *host_detect_local_cpu *** 958,961 **** --- 958,969 ---- extern tree aarch64_fp16_type_node; extern tree aarch64_fp16_ptr_type_node; + /* The generic unwind code in libgcc does not initialize the frame pointer. + So in order to unwind a function using a frame pointer, the very first + function that is unwound must save the frame pointer. That way the frame + pointer is restored and its value is now valid - otherwise _Unwind_GetGR + crashes. Libgcc can now be safely built with -fomit-frame-pointer. */ + #define LIBGCC2_UNWIND_ATTRIBUTE \ + __attribute__((optimize ("no-omit-frame-pointer"))) + #endif /* GCC_AARCH64_H */ diff -Nrcpad gcc-7.2.0/gcc/config/alpha/alpha.c gcc-7.3.0/gcc/config/alpha/alpha.c *** gcc-7.2.0/gcc/config/alpha/alpha.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/alpha/alpha.c Sun Jan 7 19:14:55 2018 *************** alpha_rtx_costs (rtx x, machine_mode mod *** 1430,1437 **** case MINUS: if (float_mode_p) *total = cost_data->fp_add; ! else if (GET_CODE (XEXP (x, 0)) == MULT ! && const48_operand (XEXP (XEXP (x, 0), 1), VOIDmode)) { *total = (rtx_cost (XEXP (XEXP (x, 0), 0), mode, (enum rtx_code) outer_code, opno, speed) --- 1430,1437 ---- case MINUS: if (float_mode_p) *total = cost_data->fp_add; ! else if (GET_CODE (XEXP (x, 0)) == ASHIFT ! && const23_operand (XEXP (XEXP (x, 0), 1), VOIDmode)) { *total = (rtx_cost (XEXP (XEXP (x, 0), 0), mode, (enum rtx_code) outer_code, opno, speed) *************** alpha_split_conditional_move (enum rtx_c *** 2929,2936 **** add_op = GEN_INT (f); if (sext_add_operand (add_op, mode)) { ! tmp = gen_rtx_MULT (DImode, copy_rtx (subtarget), ! GEN_INT (diff)); tmp = gen_rtx_PLUS (DImode, tmp, add_op); emit_insn (gen_rtx_SET (target, tmp)); } --- 2929,2936 ---- add_op = GEN_INT (f); if (sext_add_operand (add_op, mode)) { ! tmp = gen_rtx_ASHIFT (DImode, copy_rtx (subtarget), ! GEN_INT (exact_log2 (diff))); tmp = gen_rtx_PLUS (DImode, tmp, add_op); emit_insn (gen_rtx_SET (target, tmp)); } diff -Nrcpad gcc-7.2.0/gcc/config/alpha/alpha.md gcc-7.3.0/gcc/config/alpha/alpha.md *** gcc-7.2.0/gcc/config/alpha/alpha.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/alpha/alpha.md Sun Jan 14 15:45:38 2018 *************** *** 337,344 **** "! sext_add_operand (operands[2], SImode) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) % 4 == 0" [(set (match_dup 3) (match_dup 4)) ! (set (match_dup 0) (sign_extend:DI (plus:SI (mult:SI (match_dup 3) ! (match_dup 5)) (match_dup 1))))] { HOST_WIDE_INT val = INTVAL (operands[2]) / 4; --- 337,344 ---- "! sext_add_operand (operands[2], SImode) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) % 4 == 0" [(set (match_dup 3) (match_dup 4)) ! (set (match_dup 0) (sign_extend:DI (plus:SI (ashift:SI (match_dup 3) ! (match_dup 5)) (match_dup 1))))] { HOST_WIDE_INT val = INTVAL (operands[2]) / 4; *************** *** 348,354 **** val /= 2, mult = 8; operands[4] = GEN_INT (val); ! operands[5] = GEN_INT (mult); }) (define_split --- 348,354 ---- val /= 2, mult = 8; operands[4] = GEN_INT (val); ! operands[5] = GEN_INT (exact_log2 (mult)); }) (define_split *************** *** 519,556 **** (define_insn "*sadd" [(set (match_operand:I48MODE 0 "register_operand" "=r,r") (plus:I48MODE ! (mult:I48MODE (match_operand:I48MODE 1 "reg_not_elim_operand" "r,r") ! (match_operand:I48MODE 2 "const48_operand" "I,I")) (match_operand:I48MODE 3 "sext_add_operand" "rI,O")))] "" "@ ! s%2add %1,%3,%0 ! s%2sub %1,%n3,%0") (define_insn "*saddl_se" [(set (match_operand:DI 0 "register_operand" "=r,r") (sign_extend:DI ! (plus:SI (mult:SI (match_operand:SI 1 "reg_not_elim_operand" "r,r") ! (match_operand:SI 2 "const48_operand" "I,I")) ! (match_operand:SI 3 "sext_add_operand" "rI,O"))))] "" "@ ! s%2addl %1,%3,%0 ! s%2subl %1,%n3,%0") (define_split [(set (match_operand:DI 0 "register_operand") (sign_extend:DI ! (plus:SI (mult:SI (match_operator:SI 1 "comparison_operator" [(match_operand 2) (match_operand 3)]) ! (match_operand:SI 4 "const48_operand")) (match_operand:SI 5 "sext_add_operand")))) (clobber (match_operand:DI 6 "reg_not_elim_operand"))] "" [(set (match_dup 6) (match_dup 7)) (set (match_dup 0) ! (sign_extend:DI (plus:SI (mult:SI (match_dup 8) (match_dup 4)) (match_dup 5))))] { operands[7] = gen_rtx_fmt_ee (GET_CODE (operands[1]), DImode, --- 519,589 ---- (define_insn "*sadd" [(set (match_operand:I48MODE 0 "register_operand" "=r,r") (plus:I48MODE ! (ashift:I48MODE (match_operand:I48MODE 1 "reg_not_elim_operand" "r,r") ! (match_operand:I48MODE 2 "const23_operand" "I,I")) (match_operand:I48MODE 3 "sext_add_operand" "rI,O")))] "" "@ ! s%P2add %1,%3,%0 ! s%P2sub %1,%n3,%0") ! ! (define_insn_and_split "*saddsi_1" ! [(set (match_operand:SI 0 "register_operand" "=r,r") ! (plus:SI ! (subreg:SI ! (ashift:DI (match_operand:DI 1 "reg_not_elim_operand" "r,r") ! (match_operand:DI 2 "const23_operand" "I,I")) 0) ! (match_operand:SI 3 "sext_add_operand" "rI,O")))] ! "" ! "#" ! "" ! [(set (match_dup 0) ! (plus:SI (ashift:SI (match_dup 1) (match_dup 2)) ! (match_dup 3)))] ! "operands[1] = gen_lowpart (SImode, operands[1]);") (define_insn "*saddl_se" [(set (match_operand:DI 0 "register_operand" "=r,r") (sign_extend:DI ! (plus:SI ! (ashift:SI (match_operand:SI 1 "reg_not_elim_operand" "r,r") ! (match_operand:SI 2 "const23_operand" "I,I")) ! (match_operand:SI 3 "sext_add_operand" "rI,O"))))] "" "@ ! s%P2addl %1,%3,%0 ! s%P2subl %1,%n3,%0") ! ! (define_insn_and_split "*saddl_se_1" ! [(set (match_operand:DI 0 "register_operand" "=r,r") ! (sign_extend:DI ! (plus:SI ! (subreg:SI ! (ashift:DI (match_operand:DI 1 "reg_not_elim_operand" "r,r") ! (match_operand:DI 2 "const23_operand" "I,I")) 0) ! (match_operand:SI 3 "sext_add_operand" "rI,O"))))] ! "" ! "#" ! "" ! [(set (match_dup 0) ! (sign_extend:DI ! (plus:SI (ashift:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))))] ! "operands[1] = gen_lowpart (SImode, operands[1]);") (define_split [(set (match_operand:DI 0 "register_operand") (sign_extend:DI ! (plus:SI (ashift:SI (match_operator:SI 1 "comparison_operator" [(match_operand 2) (match_operand 3)]) ! (match_operand:SI 4 "const23_operand")) (match_operand:SI 5 "sext_add_operand")))) (clobber (match_operand:DI 6 "reg_not_elim_operand"))] "" [(set (match_dup 6) (match_dup 7)) (set (match_dup 0) ! (sign_extend:DI (plus:SI (ashift:SI (match_dup 8) (match_dup 4)) (match_dup 5))))] { operands[7] = gen_rtx_fmt_ee (GET_CODE (operands[1]), DImode, *************** *** 621,640 **** (define_insn "*ssub" [(set (match_operand:I48MODE 0 "register_operand" "=r") (minus:I48MODE ! (mult:I48MODE (match_operand:I48MODE 1 "reg_not_elim_operand" "r") ! (match_operand:I48MODE 2 "const48_operand" "I")) (match_operand:I48MODE 3 "reg_or_8bit_operand" "rI")))] "" ! "s%2sub %1,%3,%0") (define_insn "*ssubl_se" [(set (match_operand:DI 0 "register_operand" "=r") (sign_extend:DI ! (minus:SI (mult:SI (match_operand:SI 1 "reg_not_elim_operand" "r") ! (match_operand:SI 2 "const48_operand" "I")) ! (match_operand:SI 3 "reg_or_8bit_operand" "rI"))))] "" ! "s%2subl %1,%3,%0") (define_insn "subv3" [(set (match_operand:I48MODE 0 "register_operand" "=r") --- 654,706 ---- (define_insn "*ssub" [(set (match_operand:I48MODE 0 "register_operand" "=r") (minus:I48MODE ! (ashift:I48MODE (match_operand:I48MODE 1 "reg_not_elim_operand" "r") ! (match_operand:I48MODE 2 "const23_operand" "I")) (match_operand:I48MODE 3 "reg_or_8bit_operand" "rI")))] "" ! "s%P2sub %1,%3,%0") ! ! (define_insn_and_split "*ssubsi_1" ! [(set (match_operand:SI 0 "register_operand" "=r") ! (minus:SI ! (subreg:SI ! (ashift:DI (match_operand:DI 1 "reg_not_elim_operand" "r") ! (match_operand:DI 2 "const23_operand" "I")) 0) ! (match_operand:SI 3 "reg_or_8bit_operand" "rI")))] ! "" ! "#" ! "" ! [(set (match_dup 0) ! (minus:SI (ashift:SI (match_dup 1) (match_dup 2)) ! (match_dup 3)))] ! "operands[1] = gen_lowpart (SImode, operands[1]);") (define_insn "*ssubl_se" [(set (match_operand:DI 0 "register_operand" "=r") (sign_extend:DI ! (minus:SI ! (ashift:SI (match_operand:SI 1 "reg_not_elim_operand" "r") ! (match_operand:SI 2 "const23_operand" "I")) ! (match_operand:SI 3 "reg_or_8bit_operand" "rI"))))] "" ! "s%P2subl %1,%3,%0") ! ! (define_insn_and_split "*ssubl_se_1" ! [(set (match_operand:DI 0 "register_operand" "=r") ! (sign_extend:DI ! (minus:SI ! (subreg:SI ! (ashift:DI (match_operand:DI 1 "reg_not_elim_operand" "r") ! (match_operand:DI 2 "const23_operand" "I")) 0) ! (match_operand:SI 3 "reg_or_8bit_operand" "rI"))))] ! "" ! "#" ! "" ! [(set (match_dup 0) ! (sign_extend:DI ! (minus:SI (ashift:SI (match_dup 1) (match_dup 2)) ! (match_dup 3))))] ! "operands[1] = gen_lowpart (SImode, operands[1]);") (define_insn "subv3" [(set (match_operand:I48MODE 0 "register_operand" "=r") *************** *** 1200,1206 **** (subreg:SI (ashift:DI (match_operand:DI 1 "reg_or_0_operand" "rJ") (match_operand:DI 2 "const_int_operand" "P")) 0)))] ! "INTVAL (operands[2]) >= 1 && INTVAL (operands[2]) <= 3" { if (operands[2] == const1_rtx) return "addl %r1,%r1,%0"; --- 1266,1272 ---- (subreg:SI (ashift:DI (match_operand:DI 1 "reg_or_0_operand" "rJ") (match_operand:DI 2 "const_int_operand" "P")) 0)))] ! "IN_RANGE (INTVAL (operands[2]), 1, 3)" { if (operands[2] == const1_rtx) return "addl %r1,%r1,%0"; *************** *** 3139,3147 **** [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (plus:DI (mult:DI (match_dup 5) (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])) --- 3205,3214 ---- [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (plus:DI (ashift:DI (match_dup 5) (match_dup 3)) (match_dup 4)))] { + operands[3] = GEN_INT (exact_log2 (INTVAL (operands [3]))); if (can_create_pseudo_p ()) operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) *************** *** 3164,3172 **** [(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])) --- 3231,3240 ---- [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (plus:SI (ashift:SI (match_dup 6) (match_dup 3)) (match_dup 4)))] { + operands[3] = GEN_INT (exact_log2 (INTVAL (operands [3]))); if (can_create_pseudo_p ()) operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) *************** *** 3192,3200 **** [(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])) --- 3260,3269 ---- [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (sign_extend:DI (plus:SI (ashift:SI (match_dup 6) (match_dup 3)) (match_dup 4))))] { + operands[3] = GEN_INT (exact_log2 (INTVAL (operands [3]))); if (can_create_pseudo_p ()) operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) *************** *** 3219,3227 **** [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (minus:DI (mult:DI (match_dup 5) (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])) --- 3288,3297 ---- [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (minus:DI (ashift:DI (match_dup 5) (match_dup 3)) (match_dup 4)))] { + operands[3] = GEN_INT (exact_log2 (INTVAL (operands [3]))); if (can_create_pseudo_p ()) operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) *************** *** 3244,3252 **** [(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])) --- 3314,3323 ---- [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (minus:SI (ashift:SI (match_dup 6) (match_dup 3)) (match_dup 4)))] { + operands[3] = GEN_INT (exact_log2 (INTVAL (operands [3]))); if (can_create_pseudo_p ()) operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) *************** *** 3272,3280 **** [(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])) --- 3343,3352 ---- [(set (match_dup 5) (match_op_dup:DI 1 [(match_dup 2) (const_int 0)])) (set (match_dup 0) ! (sign_extend:DI (minus:SI (ashift:SI (match_dup 6) (match_dup 3)) (match_dup 4))))] { + operands[3] = GEN_INT (exact_log2 (INTVAL (operands [3]))); if (can_create_pseudo_p ()) operands[5] = gen_reg_rtx (DImode); else if (reg_overlap_mentioned_p (operands[5], operands[4])) diff -Nrcpad gcc-7.2.0/gcc/config/alpha/predicates.md gcc-7.3.0/gcc/config/alpha/predicates.md *** gcc-7.2.0/gcc/config/alpha/predicates.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/alpha/predicates.md Sun Jan 7 19:14:55 2018 *************** *** 74,79 **** --- 74,84 ---- (and (match_code "const_int,const_wide_int,const_double,const_vector") (not (match_test "op == CONST0_RTX (mode)")))) + ;; Return 1 if OP is the constant 2 or 3. + (define_predicate "const23_operand" + (and (match_code "const_int") + (match_test "INTVAL (op) == 2 || INTVAL (op) == 3"))) + ;; Return 1 if OP is the constant 4 or 8. (define_predicate "const48_operand" (and (match_code "const_int") diff -Nrcpad gcc-7.2.0/gcc/config/alpha/sync.md gcc-7.3.0/gcc/config/alpha/sync.md *** gcc-7.2.0/gcc/config/alpha/sync.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/alpha/sync.md Tue Oct 31 10:34:55 2017 *************** *** 24,30 **** [(plus "add_operand") (minus "reg_or_8bit_operand") (ior "or_operand") (xor "or_operand") (and "and_operand")]) (define_code_attr fetchop_constr ! [(plus "rKL") (minus "rI") (ior "rIN") (xor "rIN") (and "riNM")]) (define_expand "memory_barrier" --- 24,30 ---- [(plus "add_operand") (minus "reg_or_8bit_operand") (ior "or_operand") (xor "or_operand") (and "and_operand")]) (define_code_attr fetchop_constr ! [(plus "rKL") (minus "rI") (ior "rIN") (xor "rIN") (and "rINM")]) (define_expand "memory_barrier" diff -Nrcpad gcc-7.2.0/gcc/config/arc/linux.h gcc-7.3.0/gcc/config/arc/linux.h *** gcc-7.2.0/gcc/config/arc/linux.h Tue Mar 28 08:56:44 2017 --- gcc-7.3.0/gcc/config/arc/linux.h Tue Nov 21 11:57:16 2017 *************** along with GCC; see the file COPYING3. *** 29,35 **** } \ while (0) ! #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" /* Note that the default is to link against dynamic libraries, if they are --- 29,35 ---- } \ while (0) ! #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-arc.so.2" #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" /* Note that the default is to link against dynamic libraries, if they are diff -Nrcpad gcc-7.2.0/gcc/config/arm/arm.c gcc-7.3.0/gcc/config/arm/arm.c *** gcc-7.2.0/gcc/config/arm/arm.c Sat Jun 24 23:22:11 2017 --- gcc-7.3.0/gcc/config/arm/arm.c Tue Nov 21 18:14:34 2017 *************** operands_ok_ldrd_strd (rtx rt, rtx rt2, *** 15199,15210 **** return true; } /* Helper for gen_operands_ldrd_strd. Returns true iff the memory operand MEM's address contains an immediate offset from the base ! register and has no side effects, in which case it sets BASE and ! OFFSET accordingly. */ static bool ! mem_ok_for_ldrd_strd (rtx mem, rtx *base, rtx *offset) { rtx addr; --- 15199,15221 ---- return true; } + /* Return true if a 64-bit access with alignment ALIGN and with a + constant offset OFFSET from the base pointer is permitted on this + architecture. */ + static bool + align_ok_ldrd_strd (HOST_WIDE_INT align, HOST_WIDE_INT offset) + { + return (unaligned_access + ? (align >= BITS_PER_WORD && (offset & 3) == 0) + : (align >= 2 * BITS_PER_WORD && (offset & 7) == 0)); + } + /* Helper for gen_operands_ldrd_strd. Returns true iff the memory operand MEM's address contains an immediate offset from the base ! register and has no side effects, in which case it sets BASE, ! OFFSET and ALIGN accordingly. */ static bool ! mem_ok_for_ldrd_strd (rtx mem, rtx *base, rtx *offset, HOST_WIDE_INT *align) { rtx addr; *************** mem_ok_for_ldrd_strd (rtx mem, rtx *base *** 15223,15228 **** --- 15234,15240 ---- gcc_assert (MEM_P (mem)); *offset = const0_rtx; + *align = MEM_ALIGN (mem); addr = XEXP (mem, 0); *************** gen_operands_ldrd_strd (rtx *operands, b *** 15263,15269 **** bool const_store, bool commute) { int nops = 2; ! HOST_WIDE_INT offsets[2], offset; rtx base = NULL_RTX; rtx cur_base, cur_offset, tmp; int i, gap; --- 15275,15281 ---- bool const_store, bool commute) { int nops = 2; ! HOST_WIDE_INT offsets[2], offset, align[2]; rtx base = NULL_RTX; rtx cur_base, cur_offset, tmp; int i, gap; *************** gen_operands_ldrd_strd (rtx *operands, b *** 15275,15281 **** registers, and the corresponding memory offsets. */ for (i = 0; i < nops; i++) { ! if (!mem_ok_for_ldrd_strd (operands[nops+i], &cur_base, &cur_offset)) return false; if (i == 0) --- 15287,15294 ---- registers, and the corresponding memory offsets. */ for (i = 0; i < nops; i++) { ! if (!mem_ok_for_ldrd_strd (operands[nops+i], &cur_base, &cur_offset, ! &align[i])) return false; if (i == 0) *************** gen_operands_ldrd_strd (rtx *operands, b *** 15389,15394 **** --- 15402,15408 ---- /* Swap the instructions such that lower memory is accessed first. */ std::swap (operands[0], operands[1]); std::swap (operands[2], operands[3]); + std::swap (align[0], align[1]); if (const_store) std::swap (operands[4], operands[5]); } *************** gen_operands_ldrd_strd (rtx *operands, b *** 15402,15407 **** --- 15416,15424 ---- if (gap != 4) return false; + if (!align_ok_ldrd_strd (align[0], offset)) + return false; + /* Make sure we generate legal instructions. */ if (operands_ok_ldrd_strd (operands[0], operands[1], base, offset, false, load)) *************** arm_get_vfp_saved_size (void) *** 19299,19305 **** /* Generate a function exit sequence. If REALLY_RETURN is false, then do everything bar the final return instruction. If simple_return is true, ! then do not output epilogue, because it has already been emitted in RTL. */ const char * output_return_instruction (rtx operand, bool really_return, bool reverse, bool simple_return) --- 19316,19327 ---- /* Generate a function exit sequence. If REALLY_RETURN is false, then do everything bar the final return instruction. If simple_return is true, ! then do not output epilogue, because it has already been emitted in RTL. ! ! Note: do not forget to update length attribute of corresponding insn pattern ! when changing assembly output (eg. length attribute of ! thumb2_cmse_entry_return when updating Armv8-M Mainline Security Extensions ! register clearing sequences). */ const char * output_return_instruction (rtx operand, bool really_return, bool reverse, bool simple_return) *************** thumb_pop (FILE *f, unsigned long mask) *** 23792,23798 **** /* Generate code to return from a thumb function. If 'reg_containing_return_addr' is -1, then the return address is ! actually on the stack, at the stack pointer. */ static void thumb_exit (FILE *f, int reg_containing_return_addr) { --- 23814,23825 ---- /* Generate code to return from a thumb function. If 'reg_containing_return_addr' is -1, then the return address is ! actually on the stack, at the stack pointer. ! ! Note: do not forget to update length attribute of corresponding insn pattern ! when changing assembly output (eg. length attribute of epilogue_insns when ! updating Armv8-M Baseline Security Extensions register clearing ! sequences). */ static void thumb_exit (FILE *f, int reg_containing_return_addr) { diff -Nrcpad gcc-7.2.0/gcc/config/arm/arm.h gcc-7.3.0/gcc/config/arm/arm.h *** gcc-7.2.0/gcc/config/arm/arm.h Fri Apr 7 07:02:07 2017 --- gcc-7.3.0/gcc/config/arm/arm.h Mon Jan 8 18:42:50 2018 *************** enum arm_auto_incmodes *** 1662,1673 **** /* These assume that REGNO is a hard or pseudo reg number. They give nonzero only if REGNO is a hard reg of the suitable class ! or a pseudo reg currently allocated to a suitable hard reg. ! Since they use reg_renumber, they are safe only once reg_renumber ! has been allocated, which happens in reginfo.c during register ! allocation. */ #define TEST_REGNO(R, TEST, VALUE) \ ! ((R TEST VALUE) || ((unsigned) reg_renumber[R] TEST VALUE)) /* Don't allow the pc to be used. */ #define ARM_REGNO_OK_FOR_BASE_P(REGNO) \ --- 1662,1671 ---- /* These assume that REGNO is a hard or pseudo reg number. They give nonzero only if REGNO is a hard reg of the suitable class ! or a pseudo reg currently allocated to a suitable hard reg. */ #define TEST_REGNO(R, TEST, VALUE) \ ! ((R TEST VALUE) \ ! || (reg_renumber && ((unsigned) reg_renumber[R] TEST VALUE))) /* Don't allow the pc to be used. */ #define ARM_REGNO_OK_FOR_BASE_P(REGNO) \ diff -Nrcpad gcc-7.2.0/gcc/config/arm/iterators.md gcc-7.3.0/gcc/config/arm/iterators.md *** gcc-7.2.0/gcc/config/arm/iterators.md Fri Jan 6 17:49:12 2017 --- gcc-7.3.0/gcc/config/arm/iterators.md Wed Jan 17 11:51:03 2018 *************** *** 116,121 **** --- 116,125 ---- ;; All supported vector modes (except singleton DImode). (define_mode_iterator VDQ [V8QI V16QI V4HI V8HI V2SI V4SI V4HF V8HF V2SF V4SF V2DI]) + ;; All supported floating-point vector modes (except V2DF). + (define_mode_iterator VF [(V4HF "TARGET_NEON_FP16INST") + (V8HF "TARGET_NEON_FP16INST") V2SF V4SF]) + ;; All supported vector modes (except those with 64-bit integer elements). (define_mode_iterator VDQW [V8QI V16QI V4HI V8HI V2SI V4SI V2SF V4SF]) diff -Nrcpad gcc-7.2.0/gcc/config/arm/neon.md gcc-7.3.0/gcc/config/arm/neon.md *** gcc-7.2.0/gcc/config/arm/neon.md Mon Mar 13 10:58:48 2017 --- gcc-7.3.0/gcc/config/arm/neon.md Wed Jan 17 11:51:03 2018 *************** if (BYTES_BIG_ENDIAN) *** 6199,6226 **** }) (define_insn "neon_vabd_2" ! [(set (match_operand:VDQ 0 "s_register_operand" "=w") ! (abs:VDQ (minus:VDQ (match_operand:VDQ 1 "s_register_operand" "w") ! (match_operand:VDQ 2 "s_register_operand" "w"))))] ! "TARGET_NEON && (! || flag_unsafe_math_optimizations)" "vabd. %0, %1, %2" ! [(set (attr "type") ! (if_then_else (ne (symbol_ref "") (const_int 0)) ! (const_string "neon_fp_abd_s") ! (const_string "neon_abd")))] ) (define_insn "neon_vabd_3" ! [(set (match_operand:VDQ 0 "s_register_operand" "=w") ! (abs:VDQ (unspec:VDQ [(match_operand:VDQ 1 "s_register_operand" "w") ! (match_operand:VDQ 2 "s_register_operand" "w")] ! UNSPEC_VSUB)))] ! "TARGET_NEON && (! || flag_unsafe_math_optimizations)" "vabd. %0, %1, %2" ! [(set (attr "type") ! (if_then_else (ne (symbol_ref "") (const_int 0)) ! (const_string "neon_fp_abd_s") ! (const_string "neon_abd")))] ) ;; Copy from core-to-neon regs, then extend, not vice-versa --- 6199,6220 ---- }) (define_insn "neon_vabd_2" ! [(set (match_operand:VF 0 "s_register_operand" "=w") ! (abs:VF (minus:VF (match_operand:VF 1 "s_register_operand" "w") ! (match_operand:VF 2 "s_register_operand" "w"))))] ! "TARGET_NEON && flag_unsafe_math_optimizations" "vabd. %0, %1, %2" ! [(set_attr "type" "neon_fp_abd_s")] ) (define_insn "neon_vabd_3" ! [(set (match_operand:VF 0 "s_register_operand" "=w") ! (abs:VF (unspec:VF [(match_operand:VF 1 "s_register_operand" "w") ! (match_operand:VF 2 "s_register_operand" "w")] ! UNSPEC_VSUB)))] ! "TARGET_NEON && flag_unsafe_math_optimizations" "vabd. %0, %1, %2" ! [(set_attr "type" "neon_fp_abd_s")] ) ;; Copy from core-to-neon regs, then extend, not vice-versa diff -Nrcpad gcc-7.2.0/gcc/config/arm/thumb2.md gcc-7.3.0/gcc/config/arm/thumb2.md *** gcc-7.2.0/gcc/config/arm/thumb2.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/arm/thumb2.md Tue Nov 21 18:14:34 2017 *************** *** 1132,1138 **** ; we adapt the length accordingly. (set (attr "length") (if_then_else (match_test "TARGET_HARD_FLOAT") ! (const_int 12) (const_int 8))) ; We do not support predicate execution of returns from cmse_nonsecure_entry ; functions because we need to clear the APSR. Since predicable has to be --- 1132,1138 ---- ; we adapt the length accordingly. (set (attr "length") (if_then_else (match_test "TARGET_HARD_FLOAT") ! (const_int 34) (const_int 8))) ; We do not support predicate execution of returns from cmse_nonsecure_entry ; functions because we need to clear the APSR. Since predicable has to be diff -Nrcpad gcc-7.2.0/gcc/config/arm/vfp.md gcc-7.3.0/gcc/config/arm/vfp.md *** gcc-7.2.0/gcc/config/arm/vfp.md Fri Jun 2 11:19:16 2017 --- gcc-7.3.0/gcc/config/arm/vfp.md Mon Dec 11 17:07:33 2017 *************** *** 456,462 **** gcc_unreachable (); } } ! [(set_attr "predicable" "yes, yes, no, yes, no, no, no, no, no, no") (set_attr "predicable_short_it" "no, no, no, yes,\ no, no, no, no,\ no, no") --- 456,465 ---- gcc_unreachable (); } } ! [(set_attr "conds" "*, *, unconditional, *, unconditional, unconditional,\ ! unconditional, unconditional, unconditional,\ ! unconditional") ! (set_attr "predicable" "yes, yes, no, yes, no, no, no, no, no, no") (set_attr "predicable_short_it" "no, no, no, yes,\ no, no, no, no,\ no, no") diff -Nrcpad gcc-7.2.0/gcc/config/avr/avr.c gcc-7.3.0/gcc/config/avr/avr.c *** gcc-7.2.0/gcc/config/avr/avr.c Tue Jul 25 14:32:30 2017 --- gcc-7.3.0/gcc/config/avr/avr.c Tue Aug 22 07:55:34 2017 *************** avr_set_current_function (tree decl) *** 1095,1101 **** || 0 == strcmp ("INTERRUPT", name) || 0 == strcmp ("SIGNAL", name)) { ! warning_at (loc, OPT_Wmisspelled_isr, "%qs is a reserved indentifier" " in AVR-LibC. Consider %<#include %>" " before using the %qs macro", name, name); } --- 1095,1101 ---- || 0 == strcmp ("INTERRUPT", name) || 0 == strcmp ("SIGNAL", name)) { ! warning_at (loc, OPT_Wmisspelled_isr, "%qs is a reserved identifier" " in AVR-LibC. Consider %<#include %>" " before using the %qs macro", name, name); } *************** avr_handle_addr_attribute (tree *node, t *** 9549,9558 **** bool io_p = (strncmp (IDENTIFIER_POINTER (name), "io", 2) == 0); location_t loc = DECL_SOURCE_LOCATION (*node); ! if (TREE_CODE (*node) != VAR_DECL) { ! warning_at (loc, 0, "%qE attribute only applies to variables", name); *no_add = true; } if (args != NULL_TREE) --- 9549,9560 ---- bool io_p = (strncmp (IDENTIFIER_POINTER (name), "io", 2) == 0); location_t loc = DECL_SOURCE_LOCATION (*node); ! if (!VAR_P (*node)) { ! warning_at (loc, OPT_Wattributes, "%qE attribute only applies to " ! "variables", name); *no_add = true; + return NULL_TREE; } if (args != NULL_TREE) *************** avr_handle_addr_attribute (tree *node, t *** 9562,9569 **** tree arg = TREE_VALUE (args); if (TREE_CODE (arg) != INTEGER_CST) { ! warning (0, "%qE attribute allows only an integer constant argument", ! name); *no_add = true; } else if (io_p --- 9564,9571 ---- tree arg = TREE_VALUE (args); if (TREE_CODE (arg) != INTEGER_CST) { ! warning_at (loc, OPT_Wattributes, "%qE attribute allows only an " ! "integer constant argument", name); *no_add = true; } else if (io_p *************** avr_handle_addr_attribute (tree *node, t *** 9572,9590 **** ? low_io_address_operand : io_address_operand) (GEN_INT (TREE_INT_CST_LOW (arg)), QImode))) { ! warning_at (loc, 0, "%qE attribute address out of range", name); *no_add = true; } else { tree attribs = DECL_ATTRIBUTES (*node); ! const char *names[] = { "io", "io_low", "address", NULL } ; for (const char **p = names; *p; p++) { tree other = lookup_attribute (*p, attribs); if (other && TREE_VALUE (other)) { ! warning_at (loc, 0, "both %s and %qE attribute provide address", *p, name); *no_add = true; --- 9574,9593 ---- ? low_io_address_operand : io_address_operand) (GEN_INT (TREE_INT_CST_LOW (arg)), QImode))) { ! warning_at (loc, OPT_Wattributes, "%qE attribute address " ! "out of range", name); *no_add = true; } else { tree attribs = DECL_ATTRIBUTES (*node); ! const char *names[] = { "io", "io_low", "address", NULL }; for (const char **p = names; *p; p++) { tree other = lookup_attribute (*p, attribs); if (other && TREE_VALUE (other)) { ! warning_at (loc, OPT_Wattributes, "both %s and %qE attribute provide address", *p, name); *no_add = true; *************** avr_handle_addr_attribute (tree *node, t *** 9595,9601 **** } if (*no_add == false && io_p && !TREE_THIS_VOLATILE (*node)) ! warning_at (loc, 0, "%qE attribute on non-volatile variable", name); return NULL_TREE; } --- 9598,9605 ---- } if (*no_add == false && io_p && !TREE_THIS_VOLATILE (*node)) ! warning_at (loc, OPT_Wattributes, "%qE attribute on non-volatile variable", ! name); return NULL_TREE; } *************** avr_attribute_table[] = *** 9643,9653 **** false }, { "OS_main", 0, 0, false, true, true, avr_handle_fntype_attribute, false }, ! { "io", 0, 1, false, false, false, avr_handle_addr_attribute, false }, ! { "io_low", 0, 1, false, false, false, avr_handle_addr_attribute, false }, ! { "address", 1, 1, false, false, false, avr_handle_addr_attribute, false }, { "absdata", 0, 0, true, false, false, avr_handle_absdata_attribute, false }, --- 9647,9657 ---- false }, { "OS_main", 0, 0, false, true, true, avr_handle_fntype_attribute, false }, ! { "io", 0, 1, true, false, false, avr_handle_addr_attribute, false }, ! { "io_low", 0, 1, true, false, false, avr_handle_addr_attribute, false }, ! { "address", 1, 1, true, false, false, avr_handle_addr_attribute, false }, { "absdata", 0, 0, true, false, false, avr_handle_absdata_attribute, false }, diff -Nrcpad gcc-7.2.0/gcc/config/epiphany/rtems.h gcc-7.3.0/gcc/config/epiphany/rtems.h *** gcc-7.2.0/gcc/config/epiphany/rtems.h Thu Jan 1 00:00:00 1970 --- gcc-7.3.0/gcc/config/epiphany/rtems.h Mon Jan 8 13:39:11 2018 *************** *** 0 **** --- 1,28 ---- + /* Definitions for RTEMS based EPIPHANY systems. + Copyright (C) 2018 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + GCC is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + . */ + + #define HAS_INIT_SECTION + + #undef TARGET_OS_CPP_BUILTINS + #define TARGET_OS_CPP_BUILTINS() \ + do { \ + builtin_define ("__rtems__"); \ + builtin_define ("__USE_INIT_FINI__"); \ + builtin_assert ("system=rtems"); \ + } while (0) diff -Nrcpad gcc-7.2.0/gcc/config/gnu-user.h gcc-7.3.0/gcc/config/gnu-user.h *** gcc-7.2.0/gcc/config/gnu-user.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/gnu-user.h Tue Aug 29 08:22:44 2017 *************** see the files COPYING3 and COPYING.RUNTI *** 50,68 **** #if defined HAVE_LD_PIE #define GNU_USER_TARGET_STARTFILE_SPEC \ ! "%{!shared: %{pg|p|profile:gcrt1.o%s;: \ ! %{" PIE_SPEC ":Scrt1.o%s} %{" NO_PIE_SPEC ":crt1.o%s}}} \ ! crti.o%s %{static:crtbeginT.o%s;: %{shared:crtbeginS.o%s} \ ! %{" PIE_SPEC ":crtbeginS.o%s} \ ! %{" NO_PIE_SPEC ":crtbegin.o%s}} \ %{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_start_preinit.o%s; \ fvtable-verify=std:vtv_start.o%s} \ " CRTOFFLOADBEGIN #else #define GNU_USER_TARGET_STARTFILE_SPEC \ ! "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \ ! crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} \ %{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_start_preinit.o%s; \ fvtable-verify=std:vtv_start.o%s} \ --- 50,77 ---- #if defined HAVE_LD_PIE #define GNU_USER_TARGET_STARTFILE_SPEC \ ! "%{shared:; \ ! pg|p|profile:gcrt1.o%s; \ ! static:crt1.o%s; \ ! " PIE_SPEC ":Scrt1.o%s; \ ! :crt1.o%s} \ ! crti.o%s \ ! %{static:crtbeginT.o%s; \ ! shared|" PIE_SPEC ":crtbeginS.o%s; \ ! :crtbegin.o%s} \ %{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_start_preinit.o%s; \ fvtable-verify=std:vtv_start.o%s} \ " CRTOFFLOADBEGIN #else #define GNU_USER_TARGET_STARTFILE_SPEC \ ! "%{shared:; \ ! pg|p|profile:gcrt1.o%s; \ ! :crt1.o%s} \ ! crti.o%s \ ! %{static:crtbeginT.o%s; \ ! shared|pie:crtbeginS.o%s; \ ! :crtbegin.o%s} \ %{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_start_preinit.o%s; \ fvtable-verify=std:vtv_start.o%s} \ *************** see the files COPYING3 and COPYING.RUNTI *** 82,96 **** "%{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_end_preinit.o%s; \ fvtable-verify=std:vtv_end.o%s} \ ! %{shared:crtendS.o%s;: %{" PIE_SPEC ":crtendS.o%s} \ ! %{" NO_PIE_SPEC ":crtend.o%s}} crtn.o%s \ " CRTOFFLOADEND #else #define GNU_USER_TARGET_ENDFILE_SPEC \ "%{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_end_preinit.o%s; \ fvtable-verify=std:vtv_end.o%s} \ ! %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s \ " CRTOFFLOADEND #endif #undef ENDFILE_SPEC --- 91,110 ---- "%{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_end_preinit.o%s; \ fvtable-verify=std:vtv_end.o%s} \ ! %{static:crtend.o%s; \ ! shared|" PIE_SPEC ":crtendS.o%s; \ ! :crtend.o%s} \ ! crtn.o%s \ " CRTOFFLOADEND #else #define GNU_USER_TARGET_ENDFILE_SPEC \ "%{fvtable-verify=none:%s; \ fvtable-verify=preinit:vtv_end_preinit.o%s; \ fvtable-verify=std:vtv_end.o%s} \ ! %{static:crtend.o%s; \ ! shared|pie:crtendS.o%s; \ ! :crtend.o%s} \ ! crtn.o%s \ " CRTOFFLOADEND #endif #undef ENDFILE_SPEC diff -Nrcpad gcc-7.2.0/gcc/config/i386/constraints.md gcc-7.3.0/gcc/config/i386/constraints.md *** gcc-7.2.0/gcc/config/i386/constraints.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/i386/constraints.md Tue Jan 16 11:17:49 2018 *************** *** 198,211 **** (define_constraint "Bs" "@internal Sibcall memory operand." ! (ior (and (not (match_test "TARGET_X32")) (match_operand 0 "sibcall_memory_operand")) (and (match_test "TARGET_X32 && Pmode == DImode") (match_operand 0 "GOT_memory_operand")))) (define_constraint "Bw" "@internal Call memory operand." ! (ior (and (not (match_test "TARGET_X32")) (match_operand 0 "memory_operand")) (and (match_test "TARGET_X32 && Pmode == DImode") (match_operand 0 "GOT_memory_operand")))) --- 198,213 ---- (define_constraint "Bs" "@internal Sibcall memory operand." ! (ior (and (not (match_test "ix86_indirect_branch_register")) ! (not (match_test "TARGET_X32")) (match_operand 0 "sibcall_memory_operand")) (and (match_test "TARGET_X32 && Pmode == DImode") (match_operand 0 "GOT_memory_operand")))) (define_constraint "Bw" "@internal Call memory operand." ! (ior (and (not (match_test "ix86_indirect_branch_register")) ! (not (match_test "TARGET_X32")) (match_operand 0 "memory_operand")) (and (match_test "TARGET_X32 && Pmode == DImode") (match_operand 0 "GOT_memory_operand")))) diff -Nrcpad gcc-7.2.0/gcc/config/i386/i386-opts.h gcc-7.3.0/gcc/config/i386/i386-opts.h *** gcc-7.2.0/gcc/config/i386/i386-opts.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/i386/i386-opts.h Tue Jan 16 10:59:42 2018 *************** enum stack_protector_guard { *** 99,102 **** --- 99,115 ---- SSP_GLOBAL /* global canary */ }; + /* This is used to mitigate variant #2 of the speculative execution + vulnerabilities on x86 processors identified by CVE-2017-5715, aka + Spectre. They convert indirect branches and function returns to + call and return thunks to avoid speculative execution via indirect + call, jmp and ret. */ + enum indirect_branch { + indirect_branch_unset = 0, + indirect_branch_keep, + indirect_branch_thunk, + indirect_branch_thunk_inline, + indirect_branch_thunk_extern + }; + #endif diff -Nrcpad gcc-7.2.0/gcc/config/i386/i386-protos.h gcc-7.3.0/gcc/config/i386/i386-protos.h *** gcc-7.2.0/gcc/config/i386/i386-protos.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/i386/i386-protos.h Tue Jan 16 11:10:44 2018 *************** extern bool i386_pe_type_dllexport_p (tr *** 282,289 **** extern int i386_pe_reloc_rw_mask (void); - extern rtx maybe_get_pool_constant (rtx); - extern char internal_label_prefix[16]; extern int internal_label_prefix_len; --- 282,287 ---- *************** extern enum attr_cpu ix86_schedule; *** 315,320 **** --- 313,320 ---- #endif extern const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op); + extern const char * ix86_output_indirect_jmp (rtx call_op, bool ret_p); + extern const char * ix86_output_function_return (bool long_p); extern bool ix86_operands_ok_for_move_multiple (rtx *operands, bool load, enum machine_mode mode); diff -Nrcpad gcc-7.2.0/gcc/config/i386/i386.c gcc-7.3.0/gcc/config/i386/i386.c *** gcc-7.2.0/gcc/config/i386/i386.c Tue Aug 1 22:06:11 2017 --- gcc-7.3.0/gcc/config/i386/i386.c Tue Jan 16 12:49:29 2018 *************** along with GCC; see the file COPYING3. *** 85,90 **** --- 85,93 ---- #include "print-rtl.h" #include "intl.h" #include "ifcvt.h" + #include "symbol-summary.h" + #include "ipa-prop.h" + #include "ipa-inline.h" /* This file should be included last. */ #include "target-def.h" *************** struct GTY(()) stack_local_entry { *** 2441,2493 **** struct stack_local_entry *next; }; - /* Structure describing stack frame layout. - Stack grows downward: - - [arguments] - <- ARG_POINTER - saved pc - - saved static chain if ix86_static_chain_on_stack - - saved frame pointer if frame_pointer_needed - <- HARD_FRAME_POINTER - [saved regs] - <- regs_save_offset - [padding0] - - [saved SSE regs] - <- sse_regs_save_offset - [padding1] | - | <- FRAME_POINTER - [va_arg registers] | - | - [frame] | - | - [padding2] | = to_allocate - <- STACK_POINTER - */ - struct ix86_frame - { - int nsseregs; - int nregs; - int va_arg_size; - int red_zone_size; - int outgoing_arguments_size; - - /* The offsets relative to ARG_POINTER. */ - HOST_WIDE_INT frame_pointer_offset; - HOST_WIDE_INT hard_frame_pointer_offset; - HOST_WIDE_INT stack_pointer_offset; - HOST_WIDE_INT hfp_save_offset; - HOST_WIDE_INT reg_save_offset; - HOST_WIDE_INT sse_reg_save_offset; - - /* When save_regs_using_mov is set, emit prologue using - move instead of push instructions. */ - bool save_regs_using_mov; - }; - /* Which cpu are we scheduling for. */ enum attr_cpu ix86_schedule; --- 2444,2449 ---- *************** static unsigned int ix86_function_arg_bo *** 2579,2585 **** const_tree); static rtx ix86_static_chain (const_tree, bool); static int ix86_function_regparm (const_tree, const_tree); ! static void ix86_compute_frame_layout (struct ix86_frame *); static bool ix86_expand_vector_init_one_nonzero (bool, machine_mode, rtx, rtx, int); static void ix86_add_new_builtins (HOST_WIDE_INT, HOST_WIDE_INT); --- 2535,2541 ---- const_tree); static rtx ix86_static_chain (const_tree, bool); static int ix86_function_regparm (const_tree, const_tree); ! static void ix86_compute_frame_layout (void); static bool ix86_expand_vector_init_one_nonzero (bool, machine_mode, rtx, rtx, int); static void ix86_add_new_builtins (HOST_WIDE_INT, HOST_WIDE_INT); *************** rest_of_handle_insert_vzeroupper (void) *** 2683,2689 **** int i; /* vzeroupper instructions are inserted immediately after reload to ! account for possible spills from 256bit registers. The pass reuses mode switching infrastructure by re-running mode insertion pass, so disable entities that have already been processed. */ for (i = 0; i < MAX_386_ENTITIES; i++) --- 2639,2645 ---- int i; /* vzeroupper instructions are inserted immediately after reload to ! account for possible spills from 256bit or 512bit registers. The pass reuses mode switching infrastructure by re-running mode insertion pass, so disable entities that have already been processed. */ for (i = 0; i < MAX_386_ENTITIES; i++) *************** public: *** 4182,4188 **** /* opt_pass methods: */ virtual bool gate (function *) { ! return TARGET_AVX && !TARGET_AVX512F && TARGET_VZEROUPPER && flag_expensive_optimizations && !optimize_size; } --- 4138,4144 ---- /* opt_pass methods: */ virtual bool gate (function *) { ! return TARGET_AVX && TARGET_VZEROUPPER && flag_expensive_optimizations && !optimize_size; } *************** make_pass_stv (gcc::context *ctxt) *** 4256,4267 **** return new pass_stv (ctxt); } ! /* Return true if a red-zone is in use. */ bool ix86_using_red_zone (void) { ! return TARGET_RED_ZONE && !TARGET_64BIT_MS_ABI; } /* Return a string that documents the current -m options. The caller is --- 4212,4234 ---- return new pass_stv (ctxt); } ! /* Return true if a red-zone is in use. We can't use red-zone when ! there are local indirect jumps, like "indirect_jump" or "tablejump", ! which jumps to another place in the function, since "call" in the ! indirect thunk pushes the return address onto stack, destroying ! red-zone. ! ! TODO: If we can reserve the first 2 WORDs, for PUSH and, another ! for CALL, in red-zone, we can allow local indirect jumps with ! indirect thunk. */ bool ix86_using_red_zone (void) { ! return (TARGET_RED_ZONE ! && !TARGET_64BIT_MS_ABI ! && (!cfun->machine->has_local_indirect_jump ! || cfun->machine->indirect_branch_type == indirect_branch_keep)); } /* Return a string that documents the current -m options. The caller is *************** ix86_option_override_internal (bool main *** 6200,6206 **** #endif } ! if (!(opts_set->x_target_flags & MASK_VZEROUPPER)) opts->x_target_flags |= MASK_VZEROUPPER; if (!(opts_set->x_target_flags & MASK_STV)) opts->x_target_flags |= MASK_STV; --- 6167,6174 ---- #endif } ! if (!(opts_set->x_target_flags & MASK_VZEROUPPER) ! && TARGET_EMIT_VZEROUPPER) opts->x_target_flags |= MASK_VZEROUPPER; if (!(opts_set->x_target_flags & MASK_STV)) opts->x_target_flags |= MASK_STV; *************** ix86_option_override_internal (bool main *** 6288,6299 **** gcc_assert ((opts->x_target_flags & MASK_LONG_DOUBLE_64) == 0 || (opts->x_target_flags & MASK_LONG_DOUBLE_128) == 0); - /* Save the initial options in case the user does function specific - options. */ - if (main_args_p) - target_option_default_node = target_option_current_node - = build_target_option_node (opts); - /* Handle stack protector */ if (!opts_set->x_ix86_stack_protector_guard) opts->x_ix86_stack_protector_guard --- 6256,6261 ---- *************** ix86_option_override_internal (bool main *** 6314,6319 **** --- 6276,6287 ---- free (str); } + /* Save the initial options in case the user does function specific + options. */ + if (main_args_p) + target_option_default_node = target_option_current_node + = build_target_option_node (opts); + return true; } *************** ix86_can_inline_p (tree caller, tree cal *** 7114,7120 **** else if (caller_opts->tune != callee_opts->tune) ret = false; ! else if (caller_opts->x_ix86_fpmath != callee_opts->x_ix86_fpmath) ret = false; else if (caller_opts->branch_cost != callee_opts->branch_cost) --- 7082,7095 ---- else if (caller_opts->tune != callee_opts->tune) ret = false; ! else if (caller_opts->x_ix86_fpmath != callee_opts->x_ix86_fpmath ! /* If the calle doesn't use FP expressions differences in ! ix86_fpmath can be ignored. We are called from FEs ! for multi-versioning call optimization, so beware of ! inline_summaries not available. */ ! && (! inline_summaries ! || inline_summaries->get ! (cgraph_node::get (callee))->fp_expressions)) ret = false; else if (caller_opts->branch_cost != callee_opts->branch_cost) *************** ix86_set_func_type (tree fndecl) *** 7184,7189 **** --- 7159,7246 ---- } } + /* Set the indirect_branch_type field from the function FNDECL. */ + + static void + ix86_set_indirect_branch_type (tree fndecl) + { + if (cfun->machine->indirect_branch_type == indirect_branch_unset) + { + tree attr = lookup_attribute ("indirect_branch", + DECL_ATTRIBUTES (fndecl)); + if (attr != NULL) + { + tree args = TREE_VALUE (attr); + if (args == NULL) + gcc_unreachable (); + tree cst = TREE_VALUE (args); + if (strcmp (TREE_STRING_POINTER (cst), "keep") == 0) + cfun->machine->indirect_branch_type = indirect_branch_keep; + else if (strcmp (TREE_STRING_POINTER (cst), "thunk") == 0) + cfun->machine->indirect_branch_type = indirect_branch_thunk; + else if (strcmp (TREE_STRING_POINTER (cst), "thunk-inline") == 0) + cfun->machine->indirect_branch_type = indirect_branch_thunk_inline; + else if (strcmp (TREE_STRING_POINTER (cst), "thunk-extern") == 0) + cfun->machine->indirect_branch_type = indirect_branch_thunk_extern; + else + gcc_unreachable (); + } + else + cfun->machine->indirect_branch_type = ix86_indirect_branch; + + /* -mcmodel=large is not compatible with -mindirect-branch=thunk + nor -mindirect-branch=thunk-extern. */ + if ((ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC) + && ((cfun->machine->indirect_branch_type + == indirect_branch_thunk_extern) + || (cfun->machine->indirect_branch_type + == indirect_branch_thunk))) + error ("%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not " + "compatible", + ((cfun->machine->indirect_branch_type + == indirect_branch_thunk_extern) + ? "thunk-extern" : "thunk")); + } + + if (cfun->machine->function_return_type == indirect_branch_unset) + { + tree attr = lookup_attribute ("function_return", + DECL_ATTRIBUTES (fndecl)); + if (attr != NULL) + { + tree args = TREE_VALUE (attr); + if (args == NULL) + gcc_unreachable (); + tree cst = TREE_VALUE (args); + if (strcmp (TREE_STRING_POINTER (cst), "keep") == 0) + cfun->machine->function_return_type = indirect_branch_keep; + else if (strcmp (TREE_STRING_POINTER (cst), "thunk") == 0) + cfun->machine->function_return_type = indirect_branch_thunk; + else if (strcmp (TREE_STRING_POINTER (cst), "thunk-inline") == 0) + cfun->machine->function_return_type = indirect_branch_thunk_inline; + else if (strcmp (TREE_STRING_POINTER (cst), "thunk-extern") == 0) + cfun->machine->function_return_type = indirect_branch_thunk_extern; + else + gcc_unreachable (); + } + else + cfun->machine->function_return_type = ix86_function_return; + + /* -mcmodel=large is not compatible with -mfunction-return=thunk + nor -mfunction-return=thunk-extern. */ + if ((ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC) + && ((cfun->machine->function_return_type + == indirect_branch_thunk_extern) + || (cfun->machine->function_return_type + == indirect_branch_thunk))) + error ("%<-mfunction-return=%s%> and %<-mcmodel=large%> are not " + "compatible", + ((cfun->machine->function_return_type + == indirect_branch_thunk_extern) + ? "thunk-extern" : "thunk")); + } + } + /* Establish appropriate back-end context for processing the function FNDECL. The argument might be NULL to indicate processing at top level, outside of any function scope. */ *************** ix86_set_current_function (tree fndecl) *** 7199,7205 **** one is extern inline and one isn't. Call ix86_set_func_type to set the func_type field. */ if (fndecl != NULL_TREE) ! ix86_set_func_type (fndecl); return; } --- 7256,7265 ---- one is extern inline and one isn't. Call ix86_set_func_type to set the func_type field. */ if (fndecl != NULL_TREE) ! { ! ix86_set_func_type (fndecl); ! ix86_set_indirect_branch_type (fndecl); ! } return; } *************** ix86_set_current_function (tree fndecl) *** 7219,7224 **** --- 7279,7285 ---- } ix86_set_func_type (fndecl); + ix86_set_indirect_branch_type (fndecl); tree new_tree = DECL_FUNCTION_SPECIFIC_TARGET (fndecl); if (new_tree == NULL_TREE) *************** ix86_function_arg_advance (cumulative_ar *** 9788,9794 **** /* For pointers passed in memory we expect bounds passed in Bounds Table. */ if (!nregs) ! cum->bnds_in_bt = chkp_type_bounds_count (type); } /* Define where to put the arguments to a function. --- 9849,9861 ---- /* For pointers passed in memory we expect bounds passed in Bounds Table. */ if (!nregs) ! { ! /* Track if there are outgoing arguments on stack. */ ! if (cum->caller) ! cfun->machine->outgoing_args_on_stack = true; ! ! cum->bnds_in_bt = chkp_type_bounds_count (type); ! } } /* Define where to put the arguments to a function. *************** ix86_function_arg (cumulative_args_t cum *** 10117,10122 **** --- 10184,10193 ---- else arg = function_arg_32 (cum, mode, omode, type, bytes, words); + /* Track if there are outgoing arguments on stack. */ + if (arg == NULL_RTX && cum->caller) + cfun->machine->outgoing_args_on_stack = true; + return arg; } *************** symbolic_reference_mentioned_p (rtx op) *** 11879,11886 **** bool ix86_can_use_return_insn_p (void) { - struct ix86_frame frame; - /* Don't use `ret' instruction in interrupt handler. */ if (! reload_completed || frame_pointer_needed --- 11950,11955 ---- *************** ix86_can_use_return_insn_p (void) *** 11892,11898 **** if (crtl->args.pops_args && crtl->args.size >= 32768) return 0; ! ix86_compute_frame_layout (&frame); return (frame.stack_pointer_offset == UNITS_PER_WORD && (frame.nregs + frame.nsseregs) == 0); } --- 11961,11968 ---- if (crtl->args.pops_args && crtl->args.size >= 32768) return 0; ! ix86_compute_frame_layout (); ! struct ix86_frame &frame = cfun->machine->frame; return (frame.stack_pointer_offset == UNITS_PER_WORD && (frame.nregs + frame.nsseregs) == 0); } *************** ix86_setup_frame_addresses (void) *** 11957,11962 **** --- 12027,12293 ---- # endif #endif + /* Label count for call and return thunks. It is used to make unique + labels in call and return thunks. */ + static int indirectlabelno; + + /* True if call and return thunk functions are needed. */ + static bool indirect_thunk_needed = false; + /* True if call and return thunk functions with the BND prefix are + needed. */ + static bool indirect_thunk_bnd_needed = false; + + /* Bit masks of integer registers, which contain branch target, used + by call and return thunks functions. */ + static int indirect_thunks_used; + /* Bit masks of integer registers, which contain branch target, used + by call and return thunks functions with the BND prefix. */ + static int indirect_thunks_bnd_used; + + #ifndef INDIRECT_LABEL + # define INDIRECT_LABEL "LIND" + #endif + + /* Fills in the label name that should be used for the indirect thunk. */ + + static void + indirect_thunk_name (char name[32], int regno, bool need_bnd_p, + bool ret_p) + { + if (regno >= 0 && ret_p) + gcc_unreachable (); + + if (USE_HIDDEN_LINKONCE) + { + const char *bnd = need_bnd_p ? "_bnd" : ""; + if (regno >= 0) + { + const char *reg_prefix; + if (LEGACY_INT_REGNO_P (regno)) + reg_prefix = TARGET_64BIT ? "r" : "e"; + else + reg_prefix = ""; + sprintf (name, "__x86_indirect_thunk%s_%s%s", + bnd, reg_prefix, reg_names[regno]); + } + else + { + const char *ret = ret_p ? "return" : "indirect"; + sprintf (name, "__x86_%s_thunk%s", ret, bnd); + } + } + else + { + if (regno >= 0) + { + if (need_bnd_p) + ASM_GENERATE_INTERNAL_LABEL (name, "LITBR", regno); + else + ASM_GENERATE_INTERNAL_LABEL (name, "LITR", regno); + } + else + { + if (ret_p) + { + if (need_bnd_p) + ASM_GENERATE_INTERNAL_LABEL (name, "LRTB", 0); + else + ASM_GENERATE_INTERNAL_LABEL (name, "LRT", 0); + } + else + { + if (need_bnd_p) + ASM_GENERATE_INTERNAL_LABEL (name, "LITB", 0); + else + ASM_GENERATE_INTERNAL_LABEL (name, "LIT", 0); + } + } + } + } + + /* Output a call and return thunk for indirect branch. If BND_P is + true, the BND prefix is needed. If REGNO != -1, the function + address is in REGNO and the call and return thunk looks like: + + call L2 + L1: + pause + jmp L1 + L2: + mov %REG, (%sp) + ret + + Otherwise, the function address is on the top of stack and the + call and return thunk looks like: + + call L2 + L1: + pause + jmp L1 + L2: + lea WORD_SIZE(%sp), %sp + ret + */ + + static void + output_indirect_thunk (bool need_bnd_p, int regno) + { + char indirectlabel1[32]; + char indirectlabel2[32]; + + ASM_GENERATE_INTERNAL_LABEL (indirectlabel1, INDIRECT_LABEL, + indirectlabelno++); + ASM_GENERATE_INTERNAL_LABEL (indirectlabel2, INDIRECT_LABEL, + indirectlabelno++); + + /* Call */ + if (need_bnd_p) + fputs ("\tbnd call\t", asm_out_file); + else + fputs ("\tcall\t", asm_out_file); + assemble_name_raw (asm_out_file, indirectlabel2); + fputc ('\n', asm_out_file); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1); + + /* Pause + lfence. */ + fprintf (asm_out_file, "\tpause\n\tlfence\n"); + + /* Jump. */ + fputs ("\tjmp\t", asm_out_file); + assemble_name_raw (asm_out_file, indirectlabel1); + fputc ('\n', asm_out_file); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); + + if (regno >= 0) + { + /* MOV. */ + rtx xops[2]; + xops[0] = gen_rtx_MEM (word_mode, stack_pointer_rtx); + xops[1] = gen_rtx_REG (word_mode, regno); + output_asm_insn ("mov\t{%1, %0|%0, %1}", xops); + } + else + { + /* LEA. */ + rtx xops[2]; + xops[0] = stack_pointer_rtx; + xops[1] = plus_constant (Pmode, stack_pointer_rtx, UNITS_PER_WORD); + output_asm_insn ("lea\t{%E1, %0|%0, %E1}", xops); + } + + if (need_bnd_p) + fputs ("\tbnd ret\n", asm_out_file); + else + fputs ("\tret\n", asm_out_file); + } + + /* Output a funtion with a call and return thunk for indirect branch. + If BND_P is true, the BND prefix is needed. If REGNO != -1, the + function address is in REGNO. Otherwise, the function address is + on the top of stack. */ + + static void + output_indirect_thunk_function (bool need_bnd_p, int regno) + { + char name[32]; + tree decl; + + /* Create __x86_indirect_thunk/__x86_indirect_thunk_bnd. */ + indirect_thunk_name (name, regno, need_bnd_p, false); + decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL, + get_identifier (name), + build_function_type_list (void_type_node, NULL_TREE)); + DECL_RESULT (decl) = build_decl (BUILTINS_LOCATION, RESULT_DECL, + NULL_TREE, void_type_node); + TREE_PUBLIC (decl) = 1; + TREE_STATIC (decl) = 1; + DECL_IGNORED_P (decl) = 1; + + #if TARGET_MACHO + if (TARGET_MACHO) + { + switch_to_section (darwin_sections[picbase_thunk_section]); + fputs ("\t.weak_definition\t", asm_out_file); + assemble_name (asm_out_file, name); + fputs ("\n\t.private_extern\t", asm_out_file); + assemble_name (asm_out_file, name); + putc ('\n', asm_out_file); + ASM_OUTPUT_LABEL (asm_out_file, name); + DECL_WEAK (decl) = 1; + } + else + #endif + if (USE_HIDDEN_LINKONCE) + { + cgraph_node::create (decl)->set_comdat_group (DECL_ASSEMBLER_NAME (decl)); + + targetm.asm_out.unique_section (decl, 0); + switch_to_section (get_named_section (decl, NULL, 0)); + + targetm.asm_out.globalize_label (asm_out_file, name); + fputs ("\t.hidden\t", asm_out_file); + assemble_name (asm_out_file, name); + putc ('\n', asm_out_file); + ASM_DECLARE_FUNCTION_NAME (asm_out_file, name, decl); + } + else + { + switch_to_section (text_section); + ASM_OUTPUT_LABEL (asm_out_file, name); + } + + if (regno < 0) + { + /* Create alias for __x86.return_thunk/__x86.return_thunk_bnd. */ + char alias[32]; + + indirect_thunk_name (alias, regno, need_bnd_p, true); + #if TARGET_MACHO + if (TARGET_MACHO) + { + fputs ("\t.weak_definition\t", asm_out_file); + assemble_name (asm_out_file, alias); + fputs ("\n\t.private_extern\t", asm_out_file); + assemble_name (asm_out_file, alias); + putc ('\n', asm_out_file); + ASM_OUTPUT_LABEL (asm_out_file, alias); + } + #else + ASM_OUTPUT_DEF (asm_out_file, alias, name); + if (USE_HIDDEN_LINKONCE) + { + fputs ("\t.globl\t", asm_out_file); + assemble_name (asm_out_file, alias); + putc ('\n', asm_out_file); + fputs ("\t.hidden\t", asm_out_file); + assemble_name (asm_out_file, alias); + putc ('\n', asm_out_file); + } + #endif + } + + DECL_INITIAL (decl) = make_node (BLOCK); + current_function_decl = decl; + allocate_struct_function (decl, false); + init_function_start (decl); + /* We're about to hide the function body from callees of final_* by + emitting it directly; tell them we're a thunk, if they care. */ + cfun->is_thunk = true; + first_function_block_is_cold = false; + /* Make sure unwind info is emitted for the thunk if needed. */ + final_start_function (emit_barrier (), asm_out_file, 1); + + output_indirect_thunk (need_bnd_p, regno); + + final_end_function (); + init_insn_lengths (); + free_after_compilation (cfun); + set_cfun (NULL); + current_function_decl = NULL; + } + static int pic_labels_used; /* Fills in the label name that should be used for a pc thunk for *************** ix86_code_end (void) *** 11983,11993 **** --- 12314,12345 ---- rtx xops[2]; int regno; + if (indirect_thunk_needed) + output_indirect_thunk_function (false, -1); + if (indirect_thunk_bnd_needed) + output_indirect_thunk_function (true, -1); + + for (regno = FIRST_REX_INT_REG; regno <= LAST_REX_INT_REG; regno++) + { + int i = regno - FIRST_REX_INT_REG + LAST_INT_REG + 1; + if ((indirect_thunks_used & (1 << i))) + output_indirect_thunk_function (false, regno); + + if ((indirect_thunks_bnd_used & (1 << i))) + output_indirect_thunk_function (true, regno); + } + for (regno = AX_REG; regno <= SP_REG; regno++) { char name[32]; tree decl; + if ((indirect_thunks_used & (1 << regno))) + output_indirect_thunk_function (false, regno); + + if ((indirect_thunks_bnd_used & (1 << regno))) + output_indirect_thunk_function (true, regno); + if (!(pic_labels_used & (1 << regno))) continue; *************** ix86_can_eliminate (const int from, cons *** 12378,12385 **** HOST_WIDE_INT ix86_initial_elimination_offset (int from, int to) { ! struct ix86_frame frame; ! ix86_compute_frame_layout (&frame); if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM) return frame.hard_frame_pointer_offset; --- 12730,12737 ---- HOST_WIDE_INT ix86_initial_elimination_offset (int from, int to) { ! ix86_compute_frame_layout (); ! struct ix86_frame &frame = cfun->machine->frame; if (from == ARG_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM) return frame.hard_frame_pointer_offset; *************** ix86_builtin_setjmp_frame_value (void) *** 12418,12425 **** /* Fill structure ix86_frame about frame of currently computed function. */ static void ! ix86_compute_frame_layout (struct ix86_frame *frame) { unsigned HOST_WIDE_INT stack_alignment_needed; HOST_WIDE_INT offset; unsigned HOST_WIDE_INT preferred_alignment; --- 12770,12778 ---- /* Fill structure ix86_frame about frame of currently computed function. */ static void ! ix86_compute_frame_layout (void) { + struct ix86_frame *frame = &cfun->machine->frame; unsigned HOST_WIDE_INT stack_alignment_needed; HOST_WIDE_INT offset; unsigned HOST_WIDE_INT preferred_alignment; *************** ix86_compute_frame_layout (struct ix86_f *** 12546,12556 **** frame->va_arg_size = ix86_varargs_gpr_size + ix86_varargs_fpr_size; offset += frame->va_arg_size; ! /* Align start of frame for local function. */ if (stack_realign_fp || offset != frame->sse_reg_save_offset || size != 0 || !crtl->is_leaf || cfun->calls_alloca || ix86_current_function_calls_tls_descriptor) offset = ROUND_UP (offset, stack_alignment_needed); --- 12899,12914 ---- frame->va_arg_size = ix86_varargs_gpr_size + ix86_varargs_fpr_size; offset += frame->va_arg_size; ! /* Align start of frame for local function. When a function call ! is removed, it may become a leaf function. But if argument may ! be passed on stack, we need to align the stack when there is no ! tail call. */ if (stack_realign_fp || offset != frame->sse_reg_save_offset || size != 0 || !crtl->is_leaf + || (!crtl->tail_call_emit + && cfun->machine->outgoing_args_on_stack) || cfun->calls_alloca || ix86_current_function_calls_tls_descriptor) offset = ROUND_UP (offset, stack_alignment_needed); *************** ix86_expand_prologue (void) *** 13726,13732 **** m->fs.sp_offset = INCOMING_FRAME_SP_OFFSET; m->fs.sp_valid = true; ! ix86_compute_frame_layout (&frame); if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl)) { --- 14084,14091 ---- m->fs.sp_offset = INCOMING_FRAME_SP_OFFSET; m->fs.sp_valid = true; ! ix86_compute_frame_layout (); ! frame = m->frame; if (!TARGET_64BIT && ix86_function_ms_hook_prologue (current_function_decl)) { *************** ix86_expand_epilogue (int style) *** 14394,14400 **** bool using_drap; ix86_finalize_stack_realign_flags (); ! ix86_compute_frame_layout (&frame); m->fs.sp_valid = (!frame_pointer_needed || (crtl->sp_is_unchanging --- 14753,14760 ---- bool using_drap; ix86_finalize_stack_realign_flags (); ! ix86_compute_frame_layout (); ! frame = m->frame; m->fs.sp_valid = (!frame_pointer_needed || (crtl->sp_is_unchanging *************** static GTY(()) rtx split_stack_fn_large; *** 14892,14898 **** void ix86_expand_split_stack_prologue (void) { - struct ix86_frame frame; HOST_WIDE_INT allocate; unsigned HOST_WIDE_INT args_size; rtx_code_label *label; --- 15252,15257 ---- *************** ix86_expand_split_stack_prologue (void) *** 14904,14910 **** gcc_assert (flag_split_stack && reload_completed); ix86_finalize_stack_realign_flags (); ! ix86_compute_frame_layout (&frame); allocate = frame.stack_pointer_offset - INCOMING_FRAME_SP_OFFSET; /* This is the label we will branch to if we have enough stack --- 15263,15270 ---- gcc_assert (flag_split_stack && reload_completed); ix86_finalize_stack_realign_flags (); ! ix86_compute_frame_layout (); ! struct ix86_frame &frame = cfun->machine->frame; allocate = frame.stack_pointer_offset - INCOMING_FRAME_SP_OFFSET; /* This is the label we will branch to if we have enough stack *************** put_condition_code (enum rtx_code code, *** 17609,17614 **** --- 17969,17975 ---- If CODE is 'h', pretend the reg is the 'high' byte register. If CODE is 'y', print "st(0)" instead of "st", if the reg is stack op. If CODE is 'd', duplicate the operand for AVX instruction. + If CODE is 'V', print naked full integer register name without %. */ void *************** print_reg (rtx x, int code, FILE *file) *** 17619,17625 **** unsigned int regno; bool duplicated; ! if (ASSEMBLER_DIALECT == ASM_ATT) putc ('%', file); if (x == pc_rtx) --- 17980,17986 ---- unsigned int regno; bool duplicated; ! if (ASSEMBLER_DIALECT == ASM_ATT && code != 'V') putc ('%', file); if (x == pc_rtx) *************** print_reg (rtx x, int code, FILE *file) *** 17667,17672 **** --- 18028,18041 ---- return; } + if (code == 'V') + { + if (GENERAL_REGNO_P (regno)) + msize = GET_MODE_SIZE (word_mode); + else + error ("'V' modifier on non-integer register"); + } + duplicated = code == 'd' && TARGET_AVX; switch (msize) *************** print_reg (rtx x, int code, FILE *file) *** 17786,17791 **** --- 18155,18161 ---- & -- print some in-use local-dynamic symbol name. H -- print a memory address offset by 8; used for sse high-parts Y -- print condition for XOP pcom* instruction. + V -- print naked full integer register name without %. + -- print a branch hint as 'cs' or 'ds' prefix ; -- print a semicolon (after prefixes due to bug in older gas). ~ -- print "i" if TARGET_AVX2, "f" otherwise. *************** ix86_print_operand (FILE *file, rtx x, i *** 18010,18015 **** --- 18380,18386 ---- case 'X': case 'P': case 'p': + case 'V': break; case 's': *************** ix86_dirflag_mode_needed (rtx_insn *insn *** 19137,19152 **** return X86_DIRFLAG_ANY; } ! /* Check if a 256bit AVX register is referenced inside of EXP. */ static bool ! ix86_check_avx256_register (const_rtx exp) { if (SUBREG_P (exp)) exp = SUBREG_REG (exp); return (REG_P (exp) ! && VALID_AVX256_REG_OR_OI_MODE (GET_MODE (exp))); } /* Return needed mode for entity in optimize_mode_switching pass. */ --- 19508,19524 ---- return X86_DIRFLAG_ANY; } ! /* Check if a 256bit or 512 bit AVX register is referenced inside of EXP. */ static bool ! ix86_check_avx_upper_register (const_rtx exp) { if (SUBREG_P (exp)) exp = SUBREG_REG (exp); return (REG_P (exp) ! && (VALID_AVX256_REG_OR_OI_MODE (GET_MODE (exp)) ! || VALID_AVX512F_REG_OR_XI_MODE (GET_MODE (exp)))); } /* Return needed mode for entity in optimize_mode_switching pass. */ *************** ix86_avx_u128_mode_needed (rtx_insn *ins *** 19159,19165 **** rtx link; /* Needed mode is set to AVX_U128_CLEAN if there are ! no 256bit modes used in function arguments. */ for (link = CALL_INSN_FUNCTION_USAGE (insn); link; link = XEXP (link, 1)) --- 19531,19537 ---- rtx link; /* Needed mode is set to AVX_U128_CLEAN if there are ! no 256bit or 512bit modes used in function arguments. */ for (link = CALL_INSN_FUNCTION_USAGE (insn); link; link = XEXP (link, 1)) *************** ix86_avx_u128_mode_needed (rtx_insn *ins *** 19168,19174 **** { rtx arg = XEXP (XEXP (link, 0), 0); ! if (ix86_check_avx256_register (arg)) return AVX_U128_DIRTY; } } --- 19540,19546 ---- { rtx arg = XEXP (XEXP (link, 0), 0); ! if (ix86_check_avx_upper_register (arg)) return AVX_U128_DIRTY; } } *************** ix86_avx_u128_mode_needed (rtx_insn *ins *** 19176,19188 **** return AVX_U128_CLEAN; } ! /* Require DIRTY mode if a 256bit AVX register is referenced. Hardware ! changes state only when a 256bit register is written to, but we need ! to prevent the compiler from moving optimal insertion point above ! eventual read from 256bit register. */ subrtx_iterator::array_type array; FOR_EACH_SUBRTX (iter, array, PATTERN (insn), NONCONST) ! if (ix86_check_avx256_register (*iter)) return AVX_U128_DIRTY; return AVX_U128_ANY; --- 19548,19560 ---- return AVX_U128_CLEAN; } ! /* Require DIRTY mode if a 256bit or 512bit AVX register is referenced. ! Hardware changes state only when a 256bit register is written to, ! but we need to prevent the compiler from moving optimal insertion ! point above eventual read from 256bit or 512 bit register. */ subrtx_iterator::array_type array; FOR_EACH_SUBRTX (iter, array, PATTERN (insn), NONCONST) ! if (ix86_check_avx_upper_register (*iter)) return AVX_U128_DIRTY; return AVX_U128_ANY; *************** ix86_mode_needed (int entity, rtx_insn * *** 19264,19275 **** return 0; } ! /* Check if a 256bit AVX register is referenced in stores. */ static void ! ix86_check_avx256_stores (rtx dest, const_rtx, void *data) { ! if (ix86_check_avx256_register (dest)) { bool *used = (bool *) data; *used = true; --- 19636,19647 ---- return 0; } ! /* Check if a 256bit or 512bit AVX register is referenced in stores. */ static void ! ix86_check_avx_upper_stores (rtx dest, const_rtx, void *data) { ! if (ix86_check_avx_upper_register (dest)) { bool *used = (bool *) data; *used = true; *************** ix86_avx_u128_mode_after (int mode, rtx_ *** 19288,19305 **** return AVX_U128_CLEAN; /* We know that state is clean after CALL insn if there are no ! 256bit registers used in the function return register. */ if (CALL_P (insn)) { ! bool avx_reg256_found = false; ! note_stores (pat, ix86_check_avx256_stores, &avx_reg256_found); ! return avx_reg256_found ? AVX_U128_DIRTY : AVX_U128_CLEAN; } /* Otherwise, return current mode. Remember that if insn ! references AVX 256bit registers, the mode was already changed ! to DIRTY from MODE_NEEDED. */ return mode; } --- 19660,19677 ---- return AVX_U128_CLEAN; /* We know that state is clean after CALL insn if there are no ! 256bit or 512bit registers used in the function return register. */ if (CALL_P (insn)) { ! bool avx_upper_reg_found = false; ! note_stores (pat, ix86_check_avx_upper_stores, &avx_upper_reg_found); ! return avx_upper_reg_found ? AVX_U128_DIRTY : AVX_U128_CLEAN; } /* Otherwise, return current mode. Remember that if insn ! references AVX 256bit or 512bit registers, the mode was already ! changed to DIRTY from MODE_NEEDED. */ return mode; } *************** ix86_avx_u128_mode_entry (void) *** 19342,19354 **** tree arg; /* Entry mode is set to AVX_U128_DIRTY if there are ! 256bit modes used in function arguments. */ for (arg = DECL_ARGUMENTS (current_function_decl); arg; arg = TREE_CHAIN (arg)) { rtx incoming = DECL_INCOMING_RTL (arg); ! if (incoming && ix86_check_avx256_register (incoming)) return AVX_U128_DIRTY; } --- 19714,19726 ---- tree arg; /* Entry mode is set to AVX_U128_DIRTY if there are ! 256bit or 512bit modes used in function arguments. */ for (arg = DECL_ARGUMENTS (current_function_decl); arg; arg = TREE_CHAIN (arg)) { rtx incoming = DECL_INCOMING_RTL (arg); ! if (incoming && ix86_check_avx_upper_register (incoming)) return AVX_U128_DIRTY; } *************** ix86_avx_u128_mode_exit (void) *** 19382,19390 **** { rtx reg = crtl->return_rtx; ! /* Exit mode is set to AVX_U128_DIRTY if there are ! 256bit modes used in the function return register. */ ! if (reg && ix86_check_avx256_register (reg)) return AVX_U128_DIRTY; return AVX_U128_CLEAN; --- 19754,19762 ---- { rtx reg = crtl->return_rtx; ! /* Exit mode is set to AVX_U128_DIRTY if there are 256bit ! or 512 bit modes used in the function return register. */ ! if (reg && ix86_check_avx_upper_register (reg)) return AVX_U128_DIRTY; return AVX_U128_CLEAN; *************** ix86_expand_clear (rtx dest) *** 19820,19839 **** emit_insn (tmp); } - /* X is an unchanging MEM. If it is a constant pool reference, return - the constant pool rtx, else NULL. */ - - rtx - maybe_get_pool_constant (rtx x) - { - x = ix86_delegitimize_address (XEXP (x, 0)); - - if (GET_CODE (x) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P (x)) - return get_pool_constant (x); - - return NULL_RTX; - } - void ix86_expand_move (machine_mode mode, rtx operands[]) { --- 20192,20197 ---- *************** ix86_split_idivmod (machine_mode mode, r *** 20704,20716 **** if (signed_p) { ! div = gen_rtx_DIV (SImode, operands[2], operands[3]); ! mod = gen_rtx_MOD (SImode, operands[2], operands[3]); } else { ! div = gen_rtx_UDIV (SImode, operands[2], operands[3]); ! mod = gen_rtx_UMOD (SImode, operands[2], operands[3]); } /* Extract remainder from AH. */ --- 21062,21074 ---- if (signed_p) { ! div = gen_rtx_DIV (mode, operands[2], operands[3]); ! mod = gen_rtx_MOD (mode, operands[2], operands[3]); } else { ! div = gen_rtx_UDIV (mode, operands[2], operands[3]); ! mod = gen_rtx_UMOD (mode, operands[2], operands[3]); } /* Extract remainder from AH. */ *************** ix86_split_to_parts (rtx operand, rtx *p *** 25361,25371 **** /* Optimize constant pool reference to immediates. This is used by fp moves, that force all constants to memory to allow combining. */ if (MEM_P (operand) && MEM_READONLY_P (operand)) ! { ! rtx tmp = maybe_get_pool_constant (operand); ! if (tmp) ! operand = tmp; ! } if (MEM_P (operand) && !offsettable_memref_p (operand)) { --- 25719,25725 ---- /* Optimize constant pool reference to immediates. This is used by fp moves, that force all constants to memory to allow combining. */ if (MEM_P (operand) && MEM_READONLY_P (operand)) ! operand = avoid_constant_pool_reference (operand); if (MEM_P (operand) && !offsettable_memref_p (operand)) { *************** ix86_nopic_noplt_attribute_p (rtx call_o *** 28499,28510 **** --- 28853,29184 ---- return false; } + /* Output indirect branch via a call and return thunk. CALL_OP is a + register which contains the branch target. XASM is the assembly + template for CALL_OP. Branch is a tail call if SIBCALL_P is true. + A normal call is converted to: + + call __x86_indirect_thunk_reg + + and a tail call is converted to: + + jmp __x86_indirect_thunk_reg + */ + + static void + ix86_output_indirect_branch_via_reg (rtx call_op, bool sibcall_p) + { + char thunk_name_buf[32]; + char *thunk_name; + bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn); + int regno = REGNO (call_op); + + if (cfun->machine->indirect_branch_type + != indirect_branch_thunk_inline) + { + if (cfun->machine->indirect_branch_type == indirect_branch_thunk) + { + int i = regno; + if (i >= FIRST_REX_INT_REG) + i -= (FIRST_REX_INT_REG - LAST_INT_REG - 1); + if (need_bnd_p) + indirect_thunks_bnd_used |= 1 << i; + else + indirect_thunks_used |= 1 << i; + } + indirect_thunk_name (thunk_name_buf, regno, need_bnd_p, false); + thunk_name = thunk_name_buf; + } + else + thunk_name = NULL; + + if (sibcall_p) + { + if (thunk_name != NULL) + { + if (need_bnd_p) + fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); + else + fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); + } + else + output_indirect_thunk (need_bnd_p, regno); + } + else + { + if (thunk_name != NULL) + { + if (need_bnd_p) + fprintf (asm_out_file, "\tbnd call\t%s\n", thunk_name); + else + fprintf (asm_out_file, "\tcall\t%s\n", thunk_name); + return; + } + + char indirectlabel1[32]; + char indirectlabel2[32]; + + ASM_GENERATE_INTERNAL_LABEL (indirectlabel1, + INDIRECT_LABEL, + indirectlabelno++); + ASM_GENERATE_INTERNAL_LABEL (indirectlabel2, + INDIRECT_LABEL, + indirectlabelno++); + + /* Jump. */ + if (need_bnd_p) + fputs ("\tbnd jmp\t", asm_out_file); + else + fputs ("\tjmp\t", asm_out_file); + assemble_name_raw (asm_out_file, indirectlabel2); + fputc ('\n', asm_out_file); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1); + + if (thunk_name != NULL) + { + if (need_bnd_p) + fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); + else + fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); + } + else + output_indirect_thunk (need_bnd_p, regno); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); + + /* Call. */ + if (need_bnd_p) + fputs ("\tbnd call\t", asm_out_file); + else + fputs ("\tcall\t", asm_out_file); + assemble_name_raw (asm_out_file, indirectlabel1); + fputc ('\n', asm_out_file); + } + } + + /* Output indirect branch via a call and return thunk. CALL_OP is + the branch target. XASM is the assembly template for CALL_OP. + Branch is a tail call if SIBCALL_P is true. A normal call is + converted to: + + jmp L2 + L1: + push CALL_OP + jmp __x86_indirect_thunk + L2: + call L1 + + and a tail call is converted to: + + push CALL_OP + jmp __x86_indirect_thunk + */ + + static void + ix86_output_indirect_branch_via_push (rtx call_op, const char *xasm, + bool sibcall_p) + { + char thunk_name_buf[32]; + char *thunk_name; + char push_buf[64]; + bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn); + int regno = -1; + + if (cfun->machine->indirect_branch_type + != indirect_branch_thunk_inline) + { + if (cfun->machine->indirect_branch_type == indirect_branch_thunk) + { + if (need_bnd_p) + indirect_thunk_bnd_needed = true; + else + indirect_thunk_needed = true; + } + indirect_thunk_name (thunk_name_buf, regno, need_bnd_p, false); + thunk_name = thunk_name_buf; + } + else + thunk_name = NULL; + + snprintf (push_buf, sizeof (push_buf), "push{%c}\t%s", + TARGET_64BIT ? 'q' : 'l', xasm); + + if (sibcall_p) + { + output_asm_insn (push_buf, &call_op); + if (thunk_name != NULL) + { + if (need_bnd_p) + fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); + else + fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); + } + else + output_indirect_thunk (need_bnd_p, regno); + } + else + { + char indirectlabel1[32]; + char indirectlabel2[32]; + + ASM_GENERATE_INTERNAL_LABEL (indirectlabel1, + INDIRECT_LABEL, + indirectlabelno++); + ASM_GENERATE_INTERNAL_LABEL (indirectlabel2, + INDIRECT_LABEL, + indirectlabelno++); + + /* Jump. */ + if (need_bnd_p) + fputs ("\tbnd jmp\t", asm_out_file); + else + fputs ("\tjmp\t", asm_out_file); + assemble_name_raw (asm_out_file, indirectlabel2); + fputc ('\n', asm_out_file); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel1); + + /* An external function may be called via GOT, instead of PLT. */ + if (MEM_P (call_op)) + { + struct ix86_address parts; + rtx addr = XEXP (call_op, 0); + if (ix86_decompose_address (addr, &parts) + && parts.base == stack_pointer_rtx) + { + /* Since call will adjust stack by -UNITS_PER_WORD, + we must convert "disp(stack, index, scale)" to + "disp+UNITS_PER_WORD(stack, index, scale)". */ + if (parts.index) + { + addr = gen_rtx_MULT (Pmode, parts.index, + GEN_INT (parts.scale)); + addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, + addr); + } + else + addr = stack_pointer_rtx; + + rtx disp; + if (parts.disp != NULL_RTX) + disp = plus_constant (Pmode, parts.disp, + UNITS_PER_WORD); + else + disp = GEN_INT (UNITS_PER_WORD); + + addr = gen_rtx_PLUS (Pmode, addr, disp); + call_op = gen_rtx_MEM (GET_MODE (call_op), addr); + } + } + + output_asm_insn (push_buf, &call_op); + + if (thunk_name != NULL) + { + if (need_bnd_p) + fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); + else + fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); + } + else + output_indirect_thunk (need_bnd_p, regno); + + ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, indirectlabel2); + + /* Call. */ + if (need_bnd_p) + fputs ("\tbnd call\t", asm_out_file); + else + fputs ("\tcall\t", asm_out_file); + assemble_name_raw (asm_out_file, indirectlabel1); + fputc ('\n', asm_out_file); + } + } + + /* Output indirect branch via a call and return thunk. CALL_OP is + the branch target. XASM is the assembly template for CALL_OP. + Branch is a tail call if SIBCALL_P is true. */ + + static void + ix86_output_indirect_branch (rtx call_op, const char *xasm, + bool sibcall_p) + { + if (REG_P (call_op)) + ix86_output_indirect_branch_via_reg (call_op, sibcall_p); + else + ix86_output_indirect_branch_via_push (call_op, xasm, sibcall_p); + } + /* Output indirect jump. CALL_OP is the jump target. Jump is a + function return if RET_P is true. */ + + const char * + ix86_output_indirect_jmp (rtx call_op, bool ret_p) + { + if (cfun->machine->indirect_branch_type != indirect_branch_keep) + { + /* We can't have red-zone if this isn't a function return since + "call" in the indirect thunk pushes the return address onto + stack, destroying red-zone. */ + if (!ret_p && ix86_red_zone_size != 0) + gcc_unreachable (); + + ix86_output_indirect_branch (call_op, "%0", true); + return ""; + } + else + return "%!jmp\t%A0"; + } + + /* Output function return. CALL_OP is the jump target. Add a REP + prefix to RET if LONG_P is true and function return is kept. */ + + const char * + ix86_output_function_return (bool long_p) + { + if (cfun->machine->function_return_type != indirect_branch_keep) + { + char thunk_name[32]; + bool need_bnd_p = ix86_bnd_prefixed_insn_p (current_output_insn); + + if (cfun->machine->function_return_type + != indirect_branch_thunk_inline) + { + bool need_thunk = (cfun->machine->function_return_type + == indirect_branch_thunk); + indirect_thunk_name (thunk_name, -1, need_bnd_p, true); + if (need_bnd_p) + { + indirect_thunk_bnd_needed |= need_thunk; + fprintf (asm_out_file, "\tbnd jmp\t%s\n", thunk_name); + } + else + { + indirect_thunk_needed |= need_thunk; + fprintf (asm_out_file, "\tjmp\t%s\n", thunk_name); + } + } + else + output_indirect_thunk (need_bnd_p, -1); + + return ""; + } + + if (!long_p || ix86_bnd_prefixed_insn_p (current_output_insn)) + return "%!ret"; + + return "rep%; ret"; + } + /* Output the assembly for a call instruction. */ const char * ix86_output_call_insn (rtx_insn *insn, rtx call_op) { bool direct_p = constant_call_address_operand (call_op, VOIDmode); + bool output_indirect_p + = (!TARGET_SEH + && cfun->machine->indirect_branch_type != indirect_branch_keep); bool seh_nop_p = false; const char *xasm; *************** ix86_output_call_insn (rtx_insn *insn, r *** 28514,28523 **** { if (ix86_nopic_noplt_attribute_p (call_op)) { if (TARGET_64BIT) ! xasm = "%!jmp\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}"; else ! xasm = "%!jmp\t{*%p0@GOT|[DWORD PTR %p0@GOT]}"; } else xasm = "%!jmp\t%P0"; --- 29188,29208 ---- { if (ix86_nopic_noplt_attribute_p (call_op)) { + direct_p = false; if (TARGET_64BIT) ! { ! if (output_indirect_p) ! xasm = "{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}"; ! else ! xasm = "%!jmp\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}"; ! } else ! { ! if (output_indirect_p) ! xasm = "{%p0@GOT|[DWORD PTR %p0@GOT]}"; ! else ! xasm = "%!jmp\t{*%p0@GOT|[DWORD PTR %p0@GOT]}"; ! } } else xasm = "%!jmp\t%P0"; *************** ix86_output_call_insn (rtx_insn *insn, r *** 28527,28535 **** else if (TARGET_SEH) xasm = "%!rex.W jmp\t%A0"; else ! xasm = "%!jmp\t%A0"; ! output_asm_insn (xasm, &call_op); return ""; } --- 29212,29228 ---- else if (TARGET_SEH) xasm = "%!rex.W jmp\t%A0"; else ! { ! if (output_indirect_p) ! xasm = "%0"; ! else ! xasm = "%!jmp\t%A0"; ! } ! if (output_indirect_p && !direct_p) ! ix86_output_indirect_branch (call_op, xasm, true); ! else ! output_asm_insn (xasm, &call_op); return ""; } *************** ix86_output_call_insn (rtx_insn *insn, r *** 28567,28584 **** { if (ix86_nopic_noplt_attribute_p (call_op)) { if (TARGET_64BIT) ! xasm = "%!call\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}"; else ! xasm = "%!call\t{*%p0@GOT|[DWORD PTR %p0@GOT]}"; } else xasm = "%!call\t%P0"; } else ! xasm = "%!call\t%A0"; ! output_asm_insn (xasm, &call_op); if (seh_nop_p) return "nop"; --- 29260,29296 ---- { if (ix86_nopic_noplt_attribute_p (call_op)) { + direct_p = false; if (TARGET_64BIT) ! { ! if (output_indirect_p) ! xasm = "{%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}"; ! else ! xasm = "%!call\t{*%p0@GOTPCREL(%%rip)|[QWORD PTR %p0@GOTPCREL[rip]]}"; ! } else ! { ! if (output_indirect_p) ! xasm = "{%p0@GOT|[DWORD PTR %p0@GOT]}"; ! else ! xasm = "%!call\t{*%p0@GOT|[DWORD PTR %p0@GOT]}"; ! } } else xasm = "%!call\t%P0"; } else ! { ! if (output_indirect_p) ! xasm = "%0"; ! else ! xasm = "%!call\t%A0"; ! } ! if (output_indirect_p && !direct_p) ! ix86_output_indirect_branch (call_op, xasm, false); ! else ! output_asm_insn (xasm, &call_op); if (seh_nop_p) return "nop"; *************** sorted_attr_string (tree arglist) *** 32826,32831 **** --- 33538,33546 ---- { const char *str = TREE_STRING_POINTER (TREE_VALUE (arg)); size_t len = strlen (str); + /* Skip empty string. */ + if (len == 0) + continue; str_len_sum += len + 1; if (arg != arglist) argnum++; *************** sorted_attr_string (tree arglist) *** 32840,32850 **** --- 33555,33575 ---- { const char *str = TREE_STRING_POINTER (TREE_VALUE (arg)); size_t len = strlen (str); + /* Skip empty string. */ + if (len == 0) + continue; memcpy (attr_str + str_len_sum, str, len); attr_str[str_len_sum + len] = TREE_CHAIN (arg) ? ',' : '\0'; str_len_sum += len + 1; } + /* Strip ',' character at the end. */ + if (str_len_sum > 0 && attr_str[str_len_sum - 1] == ',') + { + attr_str[str_len_sum - 1] = '\0'; + str_len_sum--; + } + /* Replace "=,-" with "_". */ for (i = 0; i < strlen (attr_str); i++) if (attr_str[i] == '=' || attr_str[i]== '-') *************** fold_builtin_cpu (tree fndecl, tree *arg *** 33464,33469 **** --- 34189,34195 ---- M_INTEL_KNL, M_AMD_BTVER1, M_AMD_BTVER2, + M_AMDFAM17H, M_CPU_SUBTYPE_START, M_INTEL_COREI7_NEHALEM, M_INTEL_COREI7_WESTMERE, *************** fold_builtin_cpu (tree fndecl, tree *arg *** 33518,33523 **** --- 34244,34250 ---- {"bdver3", M_AMDFAM15H_BDVER3}, {"bdver4", M_AMDFAM15H_BDVER4}, {"btver2", M_AMD_BTVER2}, + {"amdfam17h", M_AMDFAM17H}, {"znver1", M_AMDFAM17H_ZNVER1}, }; *************** ix86_handle_struct_attribute (tree *node *** 41482,41488 **** } static tree ! ix86_handle_fndecl_attribute (tree *node, tree name, tree, int, bool *no_add_attrs) { if (TREE_CODE (*node) != FUNCTION_DECL) --- 42209,42215 ---- } static tree ! ix86_handle_fndecl_attribute (tree *node, tree name, tree args, int, bool *no_add_attrs) { if (TREE_CODE (*node) != FUNCTION_DECL) *************** ix86_handle_fndecl_attribute (tree *node *** 41491,41496 **** --- 42218,42268 ---- name); *no_add_attrs = true; } + + if (is_attribute_p ("indirect_branch", name)) + { + tree cst = TREE_VALUE (args); + if (TREE_CODE (cst) != STRING_CST) + { + warning (OPT_Wattributes, + "%qE attribute requires a string constant argument", + name); + *no_add_attrs = true; + } + else if (strcmp (TREE_STRING_POINTER (cst), "keep") != 0 + && strcmp (TREE_STRING_POINTER (cst), "thunk") != 0 + && strcmp (TREE_STRING_POINTER (cst), "thunk-inline") != 0 + && strcmp (TREE_STRING_POINTER (cst), "thunk-extern") != 0) + { + warning (OPT_Wattributes, + "argument to %qE attribute is not " + "(keep|thunk|thunk-inline|thunk-extern)", name); + *no_add_attrs = true; + } + } + + if (is_attribute_p ("function_return", name)) + { + tree cst = TREE_VALUE (args); + if (TREE_CODE (cst) != STRING_CST) + { + warning (OPT_Wattributes, + "%qE attribute requires a string constant argument", + name); + *no_add_attrs = true; + } + else if (strcmp (TREE_STRING_POINTER (cst), "keep") != 0 + && strcmp (TREE_STRING_POINTER (cst), "thunk") != 0 + && strcmp (TREE_STRING_POINTER (cst), "thunk-inline") != 0 + && strcmp (TREE_STRING_POINTER (cst), "thunk-extern") != 0) + { + warning (OPT_Wattributes, + "argument to %qE attribute is not " + "(keep|thunk|thunk-inline|thunk-extern)", name); + *no_add_attrs = true; + } + } + return NULL_TREE; } *************** static void *** 41862,41868 **** x86_print_call_or_nop (FILE *file, const char *target) { if (flag_nop_mcount) ! fprintf (file, "1:\tnopl 0x00(%%eax,%%eax,1)\n"); /* 5 byte nop. */ else fprintf (file, "1:\tcall\t%s\n", target); } --- 42634,42641 ---- x86_print_call_or_nop (FILE *file, const char *target) { if (flag_nop_mcount) ! /* 5 byte nop: nopl 0(%[re]ax,%[re]ax,1) */ ! fprintf (file, "1:" ASM_BYTE "0x0f, 0x1f, 0x44, 0x00, 0x00\n"); else fprintf (file, "1:\tcall\t%s\n", target); } *************** ix86_expand_lfloorceil (rtx op0, rtx op1 *** 45289,45296 **** emit_move_insn (op0, ireg); } ! /* Expand rint (IEEE round to nearest) rounding OPERAND1 and storing the ! result in OPERAND0. */ void ix86_expand_rint (rtx operand0, rtx operand1) { --- 46062,46068 ---- emit_move_insn (op0, ireg); } ! /* Expand rint rounding OPERAND1 and storing the result in OPERAND0. */ void ix86_expand_rint (rtx operand0, rtx operand1) { *************** ix86_expand_rint (rtx operand0, rtx oper *** 45298,45308 **** xa = fabs (operand1); if (!isless (xa, 2**52)) return operand1; ! xa = xa + 2**52 - 2**52; return copysign (xa, operand1); */ machine_mode mode = GET_MODE (operand0); ! rtx res, xa, TWO52, mask; rtx_code_label *label; res = gen_reg_rtx (mode); --- 46070,46086 ---- xa = fabs (operand1); if (!isless (xa, 2**52)) return operand1; ! two52 = 2**52; ! if (flag_rounding_math) ! { ! two52 = copysign (two52, operand1); ! xa = operand1; ! } ! xa = xa + two52 - two52; return copysign (xa, operand1); */ machine_mode mode = GET_MODE (operand0); ! rtx res, xa, TWO52, two52, mask; rtx_code_label *label; res = gen_reg_rtx (mode); *************** ix86_expand_rint (rtx operand0, rtx oper *** 45315,45322 **** TWO52 = ix86_gen_TWO52 (mode); label = ix86_expand_sse_compare_and_jump (UNLE, TWO52, xa, false); ! xa = expand_simple_binop (mode, PLUS, xa, TWO52, NULL_RTX, 0, OPTAB_DIRECT); ! xa = expand_simple_binop (mode, MINUS, xa, TWO52, xa, 0, OPTAB_DIRECT); ix86_sse_copysign_to_positive (res, xa, res, mask); --- 46093,46108 ---- TWO52 = ix86_gen_TWO52 (mode); label = ix86_expand_sse_compare_and_jump (UNLE, TWO52, xa, false); ! two52 = TWO52; ! if (flag_rounding_math) ! { ! two52 = gen_reg_rtx (mode); ! ix86_sse_copysign_to_positive (two52, TWO52, res, mask); ! xa = res; ! } ! ! xa = expand_simple_binop (mode, PLUS, xa, two52, NULL_RTX, 0, OPTAB_DIRECT); ! xa = expand_simple_binop (mode, MINUS, xa, two52, xa, 0, OPTAB_DIRECT); ix86_sse_copysign_to_positive (res, xa, res, mask); *************** static const struct attribute_spec ix86_ *** 45785,45790 **** --- 46571,46580 ---- ix86_handle_interrupt_attribute, false }, { "no_caller_saved_registers", 0, 0, false, true, true, ix86_handle_no_caller_saved_registers_attribute, false }, + { "indirect_branch", 1, 1, true, false, false, + ix86_handle_fndecl_attribute, false }, + { "function_return", 1, 1, true, false, false, + ix86_handle_fndecl_attribute, false }, /* End element. */ { NULL, 0, 0, false, false, false, NULL, false } diff -Nrcpad gcc-7.2.0/gcc/config/i386/i386.h gcc-7.3.0/gcc/config/i386/i386.h *** gcc-7.2.0/gcc/config/i386/i386.h Fri Feb 17 18:11:28 2017 --- gcc-7.3.0/gcc/config/i386/i386.h Tue Jan 16 11:10:44 2018 *************** extern unsigned char ix86_tune_features[ *** 508,513 **** --- 508,515 ---- ix86_tune_features[X86_TUNE_AVOID_FALSE_DEP_FOR_BMI] #define TARGET_ONE_IF_CONV_INSN \ ix86_tune_features[X86_TUNE_ONE_IF_CONV_INSN] + #define TARGET_EMIT_VZEROUPPER \ + ix86_tune_features[X86_TUNE_EMIT_VZEROUPPER] /* Feature tests against the various architecture variations. */ enum ix86_arch_indices { *************** extern const char *host_detect_local_cpu *** 1121,1126 **** --- 1123,1131 ---- || (MODE) == V16SImode || (MODE) == V16SFmode || (MODE) == V32HImode \ || (MODE) == V4TImode) + #define VALID_AVX512F_REG_OR_XI_MODE(MODE) \ + (VALID_AVX512F_REG_MODE (MODE) || (MODE) == XImode) + #define VALID_AVX512VL_128_REG_MODE(MODE) \ ((MODE) == V2DImode || (MODE) == V2DFmode || (MODE) == V16QImode \ || (MODE) == V4SImode || (MODE) == V4SFmode || (MODE) == V8HImode \ *************** enum avx_u128_state *** 2446,2454 **** #define FASTCALL_PREFIX '@' /* Machine specific frame tracking during prologue/epilogue generation. */ - #ifndef USED_FOR_TARGET struct GTY(()) machine_frame_state { /* This pair tracks the currently active CFA as reg+offset. When reg --- 2451,2506 ---- #define FASTCALL_PREFIX '@' + #ifndef USED_FOR_TARGET + /* Structure describing stack frame layout. + Stack grows downward: + + [arguments] + <- ARG_POINTER + saved pc + + saved static chain if ix86_static_chain_on_stack + + saved frame pointer if frame_pointer_needed + <- HARD_FRAME_POINTER + [saved regs] + <- regs_save_offset + [padding0] + + [saved SSE regs] + <- sse_regs_save_offset + [padding1] | + | <- FRAME_POINTER + [va_arg registers] | + | + [frame] | + | + [padding2] | = to_allocate + <- STACK_POINTER + */ + struct GTY(()) ix86_frame + { + int nsseregs; + int nregs; + int va_arg_size; + int red_zone_size; + int outgoing_arguments_size; + + /* The offsets relative to ARG_POINTER. */ + HOST_WIDE_INT frame_pointer_offset; + HOST_WIDE_INT hard_frame_pointer_offset; + HOST_WIDE_INT stack_pointer_offset; + HOST_WIDE_INT hfp_save_offset; + HOST_WIDE_INT reg_save_offset; + HOST_WIDE_INT sse_reg_save_offset; + + /* When save_regs_using_mov is set, emit prologue using + move instead of push instructions. */ + bool save_regs_using_mov; + }; + /* Machine specific frame tracking during prologue/epilogue generation. */ struct GTY(()) machine_frame_state { /* This pair tracks the currently active CFA as reg+offset. When reg *************** struct GTY(()) machine_function { *** 2507,2512 **** --- 2559,2567 ---- int varargs_fpr_size; int optimize_mode_switching[MAX_386_ENTITIES]; + /* Cached initial frame layout for the current function. */ + struct ix86_frame frame; + /* Number of saved registers USE_FAST_PROLOGUE_EPILOGUE has been computed for. */ int use_fast_prologue_epilogue_nregs; *************** struct GTY(()) machine_function { *** 2554,2559 **** --- 2609,2624 ---- /* Function type. */ ENUM_BITFIELD(function_type) func_type : 2; + /* How to generate indirec branch. */ + ENUM_BITFIELD(indirect_branch) indirect_branch_type : 3; + + /* If true, the current function has local indirect jumps, like + "indirect_jump" or "tablejump". */ + BOOL_BITFIELD has_local_indirect_jump : 1; + + /* How to generate function return. */ + ENUM_BITFIELD(indirect_branch) function_return_type : 3; + /* If true, the current function is a function specified with the "interrupt" or "no_caller_saved_registers" attribute. */ BOOL_BITFIELD no_caller_saved_registers : 1; *************** struct GTY(()) machine_function { *** 2565,2570 **** --- 2630,2638 ---- pass arguments and can be used for indirect sibcall. */ BOOL_BITFIELD arg_reg_available : 1; + /* Nonzero if the function places outgoing arguments on stack. */ + BOOL_BITFIELD outgoing_args_on_stack : 1; + /* During prologue/epilogue generation, the current frame state. Otherwise, the frame state at the end of the prologue. */ struct machine_frame_state fs; *************** struct GTY(()) machine_function { *** 2589,2594 **** --- 2657,2663 ---- #define ix86_current_function_calls_tls_descriptor \ (ix86_tls_descriptor_calls_expanded_in_cfun && df_regs_ever_live_p (SP_REG)) #define ix86_static_chain_on_stack (cfun->machine->static_chain_on_stack) + #define ix86_red_zone_size (cfun->machine->frame.red_zone_size) /* Control behavior of x86_file_start. */ #define X86_FILE_START_VERSION_DIRECTIVE false diff -Nrcpad gcc-7.2.0/gcc/config/i386/i386.md gcc-7.3.0/gcc/config/i386/i386.md *** gcc-7.2.0/gcc/config/i386/i386.md Tue Jul 18 18:28:12 2017 --- gcc-7.3.0/gcc/config/i386/i386.md Tue Jan 16 11:17:49 2018 *************** *** 6152,6158 **** (set_attr "mode" "")]) (define_insn "addqi_ext_1" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q,Q") (const_int 8) (const_int 8)) (subreg:SI --- 6152,6158 ---- (set_attr "mode" "")]) (define_insn "addqi_ext_1" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q,Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 6163,6169 **** (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) 0)) (clobber (reg:CC FLAGS_REG))] ! "" { switch (get_attr_type (insn)) { --- 6163,6170 ---- (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) 0)) (clobber (reg:CC FLAGS_REG))] ! "/* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! rtx_equal_p (operands[0], operands[1])" { switch (get_attr_type (insn)) { *************** *** 6188,6194 **** (set_attr "mode" "QI")]) (define_insn "*addqi_ext_2" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q") (const_int 8) (const_int 8)) (subreg:SI --- 6189,6195 ---- (set_attr "mode" "QI")]) (define_insn "*addqi_ext_2" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 6202,6208 **** (const_int 8) (const_int 8)) 0)) 0)) (clobber (reg:CC FLAGS_REG))] ! "" "add{b}\t{%h2, %h0|%h0, %h2}" [(set_attr "type" "alu") (set_attr "mode" "QI")]) --- 6203,6211 ---- (const_int 8) (const_int 8)) 0)) 0)) (clobber (reg:CC FLAGS_REG))] ! "/* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! rtx_equal_p (operands[0], operands[1]) ! || rtx_equal_p (operands[0], operands[2])" "add{b}\t{%h2, %h0|%h0, %h2}" [(set_attr "type" "alu") (set_attr "mode" "QI")]) *************** *** 8458,8464 **** (set_attr "mode" "QI")]) (define_insn "andqi_ext_1" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q,Q") (const_int 8) (const_int 8)) (subreg:SI --- 8461,8467 ---- (set_attr "mode" "QI")]) (define_insn "andqi_ext_1" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q,Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 8469,8475 **** (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) 0)) (clobber (reg:CC FLAGS_REG))] ! "" "and{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") --- 8472,8479 ---- (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) 0)) (clobber (reg:CC FLAGS_REG))] ! "/* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! rtx_equal_p (operands[0], operands[1])" "and{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") *************** *** 8487,8493 **** (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) (const_int 0))) ! (set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q,Q") (const_int 8) (const_int 8)) (subreg:SI --- 8491,8497 ---- (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) (const_int 0))) ! (set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q,Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 8497,8510 **** (const_int 8) (const_int 8)) 0) (match_dup 2)) 0))] ! "ix86_match_ccmode (insn, CCNOmode)" "and{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") (set_attr "mode" "QI")]) (define_insn "*andqi_ext_2" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q") (const_int 8) (const_int 8)) (subreg:SI --- 8501,8516 ---- (const_int 8) (const_int 8)) 0) (match_dup 2)) 0))] ! "ix86_match_ccmode (insn, CCNOmode) ! /* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! && rtx_equal_p (operands[0], operands[1])" "and{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") (set_attr "mode" "QI")]) (define_insn "*andqi_ext_2" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 8518,8524 **** (const_int 8) (const_int 8)) 0)) 0)) (clobber (reg:CC FLAGS_REG))] ! "" "and{b}\t{%h2, %h0|%h0, %h2}" [(set_attr "type" "alu") (set_attr "mode" "QI")]) --- 8524,8532 ---- (const_int 8) (const_int 8)) 0)) 0)) (clobber (reg:CC FLAGS_REG))] ! "/* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! rtx_equal_p (operands[0], operands[1]) ! || rtx_equal_p (operands[0], operands[2])" "and{b}\t{%h2, %h0|%h0, %h2}" [(set_attr "type" "alu") (set_attr "mode" "QI")]) *************** *** 8845,8851 **** (set_attr "mode" "")]) (define_insn "*qi_ext_1" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q,Q") (const_int 8) (const_int 8)) (subreg:SI --- 8853,8859 ---- (set_attr "mode" "")]) (define_insn "*qi_ext_1" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q,Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 8856,8869 **** (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) 0)) (clobber (reg:CC FLAGS_REG))] ! "!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)" "{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") (set_attr "mode" "QI")]) (define_insn "*qi_ext_2" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q") (const_int 8) (const_int 8)) (subreg:SI --- 8864,8879 ---- (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) 0)) (clobber (reg:CC FLAGS_REG))] ! "(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) ! /* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! && rtx_equal_p (operands[0], operands[1])" "{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") (set_attr "mode" "QI")]) (define_insn "*qi_ext_2" ! [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 8877,8883 **** (const_int 8) (const_int 8)) 0)) 0)) (clobber (reg:CC FLAGS_REG))] ! "!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)" "{b}\t{%h2, %h0|%h0, %h2}" [(set_attr "type" "alu") (set_attr "mode" "QI")]) --- 8887,8896 ---- (const_int 8) (const_int 8)) 0)) 0)) (clobber (reg:CC FLAGS_REG))] ! "(!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) ! /* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! && (rtx_equal_p (operands[0], operands[1]) ! || rtx_equal_p (operands[0], operands[2]))" "{b}\t{%h2, %h0|%h0, %h2}" [(set_attr "type" "alu") (set_attr "mode" "QI")]) *************** *** 8966,8972 **** (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) (const_int 0))) ! (set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q,Q") (const_int 8) (const_int 8)) (subreg:SI --- 8979,8985 ---- (const_int 8)) 0) (match_operand:QI 2 "general_operand" "QnBc,m")) (const_int 0))) ! (set (zero_extract:SI (match_operand 0 "ext_register_operand" "+Q,Q") (const_int 8) (const_int 8)) (subreg:SI *************** *** 8976,8982 **** (const_int 8) (const_int 8)) 0) (match_dup 2)) 0))] ! "ix86_match_ccmode (insn, CCNOmode)" "xor{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") --- 8989,8997 ---- (const_int 8) (const_int 8)) 0) (match_dup 2)) 0))] ! "ix86_match_ccmode (insn, CCNOmode) ! /* FIXME: without this LRA can't reload this pattern, see PR82524. */ ! && rtx_equal_p (operands[0], operands[1])" "xor{b}\t{%2, %h0|%h0, %2}" [(set_attr "isa" "*,nox64") (set_attr "type" "alu") *************** *** 9626,9632 **** (match_operand:SWI48 1 "nonimmediate_operand") (subreg:QI (and:SI ! (match_operand:SI 2 "register_operand") (match_operand:SI 3 "const_int_operand")) 0))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (ASHIFT, mode, operands) --- 9641,9647 ---- (match_operand:SWI48 1 "nonimmediate_operand") (subreg:QI (and:SI ! (match_operand:SI 2 "register_operand" "c,r") (match_operand:SI 3 "const_int_operand")) 0))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (ASHIFT, mode, operands) *************** *** 9640,9646 **** (ashift:SWI48 (match_dup 1) (match_dup 2))) (clobber (reg:CC FLAGS_REG))])] ! "operands[2] = gen_lowpart (QImode, operands[2]);") (define_insn "*bmi2_ashl3_1" [(set (match_operand:SWI48 0 "register_operand" "=r") --- 9655,9662 ---- (ashift:SWI48 (match_dup 1) (match_dup 2))) (clobber (reg:CC FLAGS_REG))])] ! "operands[2] = gen_lowpart (QImode, operands[2]);" ! [(set_attr "isa" "*,bmi2")]) (define_insn "*bmi2_ashl3_1" [(set (match_operand:SWI48 0 "register_operand" "=r") *************** *** 10126,10132 **** (match_operand:SWI48 1 "nonimmediate_operand") (subreg:QI (and:SI ! (match_operand:SI 2 "register_operand") (match_operand:SI 3 "const_int_operand")) 0))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (, mode, operands) --- 10142,10148 ---- (match_operand:SWI48 1 "nonimmediate_operand") (subreg:QI (and:SI ! (match_operand:SI 2 "register_operand" "c,r") (match_operand:SI 3 "const_int_operand")) 0))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (, mode, operands) *************** *** 10140,10146 **** (any_shiftrt:SWI48 (match_dup 1) (match_dup 2))) (clobber (reg:CC FLAGS_REG))])] ! "operands[2] = gen_lowpart (QImode, operands[2]);") (define_insn_and_split "*3_doubleword" [(set (match_operand:DWI 0 "register_operand" "=&r") --- 10156,10163 ---- (any_shiftrt:SWI48 (match_dup 1) (match_dup 2))) (clobber (reg:CC FLAGS_REG))])] ! "operands[2] = gen_lowpart (QImode, operands[2]);" ! [(set_attr "isa" "*,bmi2")]) (define_insn_and_split "*3_doubleword" [(set (match_operand:DWI 0 "register_operand" "=&r") *************** *** 10585,10591 **** (match_operand:SWI48 1 "nonimmediate_operand") (subreg:QI (and:SI ! (match_operand:SI 2 "register_operand") (match_operand:SI 3 "const_int_operand")) 0))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (, mode, operands) --- 10602,10608 ---- (match_operand:SWI48 1 "nonimmediate_operand") (subreg:QI (and:SI ! (match_operand:SI 2 "register_operand" "c") (match_operand:SI 3 "const_int_operand")) 0))) (clobber (reg:CC FLAGS_REG))] "ix86_binary_operator_ok (, mode, operands) *************** *** 11608,11622 **** [(set (pc) (match_operand 0 "indirect_branch_operand"))] "" { ! if (TARGET_X32) operands[0] = convert_memory_address (word_mode, operands[0]); }) (define_insn "*indirect_jump" [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw"))] "" ! "%!jmp\t%A0" ! [(set_attr "type" "ibr") (set_attr "length_immediate" "0") (set_attr "maybe_prefix_bnd" "1")]) --- 11625,11644 ---- [(set (pc) (match_operand 0 "indirect_branch_operand"))] "" { ! if (TARGET_X32 || ix86_indirect_branch_register) operands[0] = convert_memory_address (word_mode, operands[0]); + cfun->machine->has_local_indirect_jump = true; }) (define_insn "*indirect_jump" [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw"))] "" ! "* return ix86_output_indirect_jmp (operands[0], false);" ! [(set (attr "type") ! (if_then_else (match_test "(cfun->machine->indirect_branch_type ! != indirect_branch_keep)") ! (const_string "multi") ! (const_string "ibr"))) (set_attr "length_immediate" "0") (set_attr "maybe_prefix_bnd" "1")]) *************** *** 11657,11672 **** OPTAB_DIRECT); } ! if (TARGET_X32) operands[0] = convert_memory_address (word_mode, operands[0]); }) (define_insn "*tablejump_1" [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw")) (use (label_ref (match_operand 1)))] "" ! "%!jmp\t%A0" ! [(set_attr "type" "ibr") (set_attr "length_immediate" "0") (set_attr "maybe_prefix_bnd" "1")]) --- 11679,11699 ---- OPTAB_DIRECT); } ! if (TARGET_X32 || ix86_indirect_branch_register) operands[0] = convert_memory_address (word_mode, operands[0]); + cfun->machine->has_local_indirect_jump = true; }) (define_insn "*tablejump_1" [(set (pc) (match_operand:W 0 "indirect_branch_operand" "rBw")) (use (label_ref (match_operand 1)))] "" ! "* return ix86_output_indirect_jmp (operands[0], false);" ! [(set (attr "type") ! (if_then_else (match_test "(cfun->machine->indirect_branch_type ! != indirect_branch_keep)") ! (const_string "multi") ! (const_string "ibr"))) (set_attr "length_immediate" "0") (set_attr "maybe_prefix_bnd" "1")]) *************** *** 11844,11850 **** [(call (mem:QI (match_operand:W 0 "memory_operand" "m")) (match_operand 1)) (unspec [(const_int 0)] UNSPEC_PEEPSIB)] ! "!TARGET_X32" "* return ix86_output_call_insn (insn, operands[0]);" [(set_attr "type" "call")]) --- 11871,11877 ---- [(call (mem:QI (match_operand:W 0 "memory_operand" "m")) (match_operand 1)) (unspec [(const_int 0)] UNSPEC_PEEPSIB)] ! "!TARGET_X32 && !ix86_indirect_branch_register" "* return ix86_output_call_insn (insn, operands[0]);" [(set_attr "type" "call")]) *************** *** 11853,11859 **** (match_operand:W 1 "memory_operand")) (call (mem:QI (match_dup 0)) (match_operand 3))] ! "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (1)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))" [(parallel [(call (mem:QI (match_dup 1)) --- 11880,11888 ---- (match_operand:W 1 "memory_operand")) (call (mem:QI (match_dup 0)) (match_operand 3))] ! "!TARGET_X32 ! && !ix86_indirect_branch_register ! && SIBLING_CALL_P (peep2_next_insn (1)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))" [(parallel [(call (mem:QI (match_dup 1)) *************** *** 11866,11872 **** (unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) (call (mem:QI (match_dup 0)) (match_operand 3))] ! "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (2)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))" [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) --- 11895,11903 ---- (unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) (call (mem:QI (match_dup 0)) (match_operand 3))] ! "!TARGET_X32 ! && !ix86_indirect_branch_register ! && SIBLING_CALL_P (peep2_next_insn (2)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))" [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) *************** *** 11888,11894 **** }) (define_insn "*call_pop" ! [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lmBz")) (match_operand 1)) (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) --- 11919,11925 ---- }) (define_insn "*call_pop" ! [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "lBwBz")) (match_operand 1)) (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) *************** *** 11908,11914 **** [(set_attr "type" "call")]) (define_insn "*sibcall_pop_memory" ! [(call (mem:QI (match_operand:SI 0 "memory_operand" "m")) (match_operand 1)) (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) --- 11939,11945 ---- [(set_attr "type" "call")]) (define_insn "*sibcall_pop_memory" ! [(call (mem:QI (match_operand:SI 0 "memory_operand" "Bs")) (match_operand 1)) (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) *************** *** 11962,11968 **** [(set (match_operand:W 0 "register_operand") (match_operand:W 1 "memory_operand")) (set (pc) (match_dup 0))] ! "!TARGET_X32 && peep2_reg_dead_p (2, operands[0])" [(set (pc) (match_dup 1))]) ;; Call subroutine, returning value in operand 0 --- 11993,12001 ---- [(set (match_operand:W 0 "register_operand") (match_operand:W 1 "memory_operand")) (set (pc) (match_dup 0))] ! "!TARGET_X32 ! && !ix86_indirect_branch_register ! && peep2_reg_dead_p (2, operands[0])" [(set (pc) (match_dup 1))]) ;; Call subroutine, returning value in operand 0 *************** *** 12043,12049 **** (call (mem:QI (match_operand:W 1 "memory_operand" "m")) (match_operand 2))) (unspec [(const_int 0)] UNSPEC_PEEPSIB)] ! "!TARGET_X32" "* return ix86_output_call_insn (insn, operands[1]);" [(set_attr "type" "callv")]) --- 12076,12082 ---- (call (mem:QI (match_operand:W 1 "memory_operand" "m")) (match_operand 2))) (unspec [(const_int 0)] UNSPEC_PEEPSIB)] ! "!TARGET_X32 && !ix86_indirect_branch_register" "* return ix86_output_call_insn (insn, operands[1]);" [(set_attr "type" "callv")]) *************** *** 12053,12059 **** (set (match_operand 2) (call (mem:QI (match_dup 0)) (match_operand 3)))] ! "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (1)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))" [(parallel [(set (match_dup 2) --- 12086,12094 ---- (set (match_operand 2) (call (mem:QI (match_dup 0)) (match_operand 3)))] ! "!TARGET_X32 ! && !ix86_indirect_branch_register ! && SIBLING_CALL_P (peep2_next_insn (1)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))" [(parallel [(set (match_dup 2) *************** *** 12068,12074 **** (set (match_operand 2) (call (mem:QI (match_dup 0)) (match_operand 3)))] ! "!TARGET_X32 && SIBLING_CALL_P (peep2_next_insn (2)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))" [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) --- 12103,12111 ---- (set (match_operand 2) (call (mem:QI (match_dup 0)) (match_operand 3)))] ! "!TARGET_X32 ! && !ix86_indirect_branch_register ! && SIBLING_CALL_P (peep2_next_insn (2)) && !reg_mentioned_p (operands[0], CALL_INSN_FUNCTION_USAGE (peep2_next_insn (2)))" [(unspec_volatile [(const_int 0)] UNSPECV_BLOCKAGE) *************** *** 12093,12099 **** (define_insn "*call_value_pop" [(set (match_operand 0) ! (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lmBz")) (match_operand 2))) (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) --- 12130,12136 ---- (define_insn "*call_value_pop" [(set (match_operand 0) ! (call (mem:QI (match_operand:SI 1 "call_insn_operand" "lBwBz")) (match_operand 2))) (set (reg:SI SP_REG) (plus:SI (reg:SI SP_REG) *************** *** 12288,12294 **** (define_insn "simple_return_internal" [(simple_return)] "reload_completed" ! "%!ret" [(set_attr "length" "1") (set_attr "atom_unit" "jeu") (set_attr "length_immediate" "0") --- 12325,12331 ---- (define_insn "simple_return_internal" [(simple_return)] "reload_completed" ! "* return ix86_output_function_return (false);" [(set_attr "length" "1") (set_attr "atom_unit" "jeu") (set_attr "length_immediate" "0") *************** *** 12310,12321 **** [(simple_return) (unspec [(const_int 0)] UNSPEC_REP)] "reload_completed" ! { ! if (ix86_bnd_prefixed_insn_p (insn)) ! return "%!ret"; ! ! return "rep%; ret"; ! } [(set_attr "length" "2") (set_attr "atom_unit" "jeu") (set_attr "length_immediate" "0") --- 12347,12353 ---- [(simple_return) (unspec [(const_int 0)] UNSPEC_REP)] "reload_completed" ! "* return ix86_output_function_return (true);" [(set_attr "length" "2") (set_attr "atom_unit" "jeu") (set_attr "length_immediate" "0") *************** *** 12337,12344 **** [(simple_return) (use (match_operand:SI 0 "register_operand" "r"))] "reload_completed" ! "%!jmp\t%A0" ! [(set_attr "type" "ibr") (set_attr "length_immediate" "0") (set_attr "maybe_prefix_bnd" "1")]) --- 12369,12380 ---- [(simple_return) (use (match_operand:SI 0 "register_operand" "r"))] "reload_completed" ! "* return ix86_output_indirect_jmp (operands[0], true);" ! [(set (attr "type") ! (if_then_else (match_test "(cfun->machine->indirect_branch_type ! != indirect_branch_keep)") ! (const_string "multi") ! (const_string "ibr"))) (set_attr "length_immediate" "0") (set_attr "maybe_prefix_bnd" "1")]) diff -Nrcpad gcc-7.2.0/gcc/config/i386/i386.opt gcc-7.3.0/gcc/config/i386/i386.opt *** gcc-7.2.0/gcc/config/i386/i386.opt Tue Feb 28 22:02:58 2017 --- gcc-7.3.0/gcc/config/i386/i386.opt Tue Jan 16 11:17:49 2018 *************** Attempt to avoid generating instruction *** 927,929 **** --- 927,957 ---- mgeneral-regs-only Target Report RejectNegative Mask(GENERAL_REGS_ONLY) Var(ix86_target_flags) Save Generate code which uses only the general registers. + + mindirect-branch= + Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_indirect_branch) Init(indirect_branch_keep) + Convert indirect call and jump to call and return thunks. + + mfunction-return= + Target Report RejectNegative Joined Enum(indirect_branch) Var(ix86_function_return) Init(indirect_branch_keep) + Convert function return to call and return thunk. + + Enum + Name(indirect_branch) Type(enum indirect_branch) + Known indirect branch choices (for use with the -mindirect-branch=/-mfunction-return= options): + + EnumValue + Enum(indirect_branch) String(keep) Value(indirect_branch_keep) + + EnumValue + Enum(indirect_branch) String(thunk) Value(indirect_branch_thunk) + + EnumValue + Enum(indirect_branch) String(thunk-inline) Value(indirect_branch_thunk_inline) + + EnumValue + Enum(indirect_branch) String(thunk-extern) Value(indirect_branch_thunk_extern) + + mindirect-branch-register + Target Report Var(ix86_indirect_branch_register) Init(0) + Force indirect call and jump via register. diff -Nrcpad gcc-7.2.0/gcc/config/i386/predicates.md gcc-7.3.0/gcc/config/i386/predicates.md *** gcc-7.2.0/gcc/config/i386/predicates.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/i386/predicates.md Tue Jan 16 11:17:49 2018 *************** *** 635,641 **** ;; Test for a valid operand for indirect branch. (define_predicate "indirect_branch_operand" (ior (match_operand 0 "register_operand") ! (and (not (match_test "TARGET_X32")) (match_operand 0 "memory_operand")))) ;; Return true if OP is a memory operands that can be used in sibcalls. --- 635,642 ---- ;; Test for a valid operand for indirect branch. (define_predicate "indirect_branch_operand" (ior (match_operand 0 "register_operand") ! (and (not (match_test "ix86_indirect_branch_register")) ! (not (match_test "TARGET_X32")) (match_operand 0 "memory_operand")))) ;; Return true if OP is a memory operands that can be used in sibcalls. *************** *** 678,697 **** (ior (match_test "constant_call_address_operand (op, mode == VOIDmode ? mode : Pmode)") (match_operand 0 "call_register_no_elim_operand") ! (ior (and (not (match_test "TARGET_X32")) ! (match_operand 0 "memory_operand")) ! (and (match_test "TARGET_X32 && Pmode == DImode") ! (match_operand 0 "GOT_memory_operand"))))) ;; Similarly, but for tail calls, in which we cannot allow memory references. (define_special_predicate "sibcall_insn_operand" (ior (match_test "constant_call_address_operand (op, mode == VOIDmode ? mode : Pmode)") (match_operand 0 "register_no_elim_operand") ! (ior (and (not (match_test "TARGET_X32")) ! (match_operand 0 "sibcall_memory_operand")) ! (and (match_test "TARGET_X32 && Pmode == DImode") ! (match_operand 0 "GOT_memory_operand"))))) ;; Return true if OP is a 32-bit GOT symbol operand. (define_predicate "GOT32_symbol_operand" --- 679,700 ---- (ior (match_test "constant_call_address_operand (op, mode == VOIDmode ? mode : Pmode)") (match_operand 0 "call_register_no_elim_operand") ! (and (not (match_test "ix86_indirect_branch_register")) ! (ior (and (not (match_test "TARGET_X32")) ! (match_operand 0 "memory_operand")) ! (and (match_test "TARGET_X32 && Pmode == DImode") ! (match_operand 0 "GOT_memory_operand")))))) ;; Similarly, but for tail calls, in which we cannot allow memory references. (define_special_predicate "sibcall_insn_operand" (ior (match_test "constant_call_address_operand (op, mode == VOIDmode ? mode : Pmode)") (match_operand 0 "register_no_elim_operand") ! (and (not (match_test "ix86_indirect_branch_register")) ! (ior (and (not (match_test "TARGET_X32")) ! (match_operand 0 "sibcall_memory_operand")) ! (and (match_test "TARGET_X32 && Pmode == DImode") ! (match_operand 0 "GOT_memory_operand")))))) ;; Return true if OP is a 32-bit GOT symbol operand. (define_predicate "GOT32_symbol_operand" *************** *** 975,983 **** (match_code "mem") { unsigned n_elts; ! op = maybe_get_pool_constant (op); ! if (!(op && GET_CODE (op) == CONST_VECTOR)) return false; n_elts = CONST_VECTOR_NUNITS (op); --- 978,986 ---- (match_code "mem") { unsigned n_elts; ! op = avoid_constant_pool_reference (op); ! if (GET_CODE (op) != CONST_VECTOR) return false; n_elts = CONST_VECTOR_NUNITS (op); diff -Nrcpad gcc-7.2.0/gcc/config/i386/sol2.h gcc-7.3.0/gcc/config/i386/sol2.h *** gcc-7.2.0/gcc/config/i386/sol2.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/i386/sol2.h Mon Nov 13 12:38:16 2017 *************** along with GCC; see the file COPYING3. *** 65,72 **** #define ASM_CPU64_DEFAULT_SPEC "-xarch=generic64" #endif #undef ASM_CPU_SPEC ! #define ASM_CPU_SPEC "%(asm_cpu_default)" /* Don't include ASM_PIC_SPEC. While the Solaris 10+ assembler accepts -K PIC, it gives many warnings: --- 65,80 ---- #define ASM_CPU64_DEFAULT_SPEC "-xarch=generic64" #endif + /* Since Studio 12.6, as needs -xbrace_comment=no so its AVX512 syntax is + fully compatible with gas. */ + #ifdef HAVE_AS_XBRACE_COMMENT_OPTION + #define ASM_XBRACE_COMMENT_SPEC "-xbrace_comment=no" + #else + #define ASM_XBRACE_COMMENT_SPEC "" + #endif + #undef ASM_CPU_SPEC ! #define ASM_CPU_SPEC "%(asm_cpu_default) " ASM_XBRACE_COMMENT_SPEC /* Don't include ASM_PIC_SPEC. While the Solaris 10+ assembler accepts -K PIC, it gives many warnings: diff -Nrcpad gcc-7.2.0/gcc/config/i386/sse.md gcc-7.3.0/gcc/config/i386/sse.md *** gcc-7.2.0/gcc/config/i386/sse.md Mon Jul 17 19:38:29 2017 --- gcc-7.3.0/gcc/config/i386/sse.md Fri Dec 15 22:08:20 2017 *************** *** 13852,13858 **** (match_operand:DI 1 "nonimmediate_operand" " 0, 0,x ,Yv,r ,vm,?!*Yn,0,Yv,0,0,v") (match_operand:DI 2 "vector_move_operand" ! "*rm,rm,rm,rm,C ,C ,C ,x,Yv,x,m,m")))] "TARGET_SSE" "@ pinsrq\t{$1, %2, %0|%0, %2, 1} --- 13852,13858 ---- (match_operand:DI 1 "nonimmediate_operand" " 0, 0,x ,Yv,r ,vm,?!*Yn,0,Yv,0,0,v") (match_operand:DI 2 "vector_move_operand" ! " rm,rm,rm,rm,C ,C ,C ,x,Yv,x,m,m")))] "TARGET_SSE" "@ pinsrq\t{$1, %2, %0|%0, %2, 1} diff -Nrcpad gcc-7.2.0/gcc/config/i386/x86-tune.def gcc-7.3.0/gcc/config/i386/x86-tune.def *** gcc-7.2.0/gcc/config/i386/x86-tune.def Tue Apr 4 17:52:27 2017 --- gcc-7.3.0/gcc/config/i386/x86-tune.def Mon Dec 4 11:03:37 2017 *************** DEF_TUNE (X86_TUNE_ADJUST_UNROLL, "adjus *** 551,553 **** --- 551,557 ---- if-converted sequence to one. */ DEF_TUNE (X86_TUNE_ONE_IF_CONV_INSN, "one_if_conv_insn", m_SILVERMONT | m_KNL | m_INTEL | m_CORE_ALL | m_GENERIC) + + /* X86_TUNE_EMIT_VZEROUPPER: This enables vzeroupper instruction insertion + before a transfer of control flow out of the function. */ + DEF_TUNE (X86_TUNE_EMIT_VZEROUPPER, "emit_vzeroupper", ~m_KNL) diff -Nrcpad gcc-7.2.0/gcc/config/i386/xm-mingw32.h gcc-7.3.0/gcc/config/i386/xm-mingw32.h *** gcc-7.2.0/gcc/config/i386/xm-mingw32.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/i386/xm-mingw32.h Fri Dec 15 11:31:42 2017 *************** along with GCC; see the file COPYING3. *** 37,44 **** "long long" values. Instead, we use "I64". */ #define HOST_LONG_LONG_FORMAT "I64" #endif - - /* this is to prevent gcc-heap.c from assuming sizeof(long) == sizeof(intptr_t) */ - #ifdef __x86_64__ - # define HOST_BITS_PER_PTR 64 - #endif --- 37,39 ---- diff -Nrcpad gcc-7.2.0/gcc/config/mips/frame-header-opt.c gcc-7.3.0/gcc/config/mips/frame-header-opt.c *** gcc-7.2.0/gcc/config/mips/frame-header-opt.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/mips/frame-header-opt.c Fri Dec 15 21:52:06 2017 *************** void *** 98,105 **** mips_register_frame_header_opt (void) { opt_pass *p = make_pass_ipa_frame_header_opt (g); ! static struct register_pass_info f = ! {p, "comdats", 1, PASS_POS_INSERT_AFTER }; register_pass (&f); } --- 98,104 ---- mips_register_frame_header_opt (void) { opt_pass *p = make_pass_ipa_frame_header_opt (g); ! struct register_pass_info f = { p, "comdats", 1, PASS_POS_INSERT_AFTER }; register_pass (&f); } diff -Nrcpad gcc-7.2.0/gcc/config/netbsd-protos.h gcc-7.3.0/gcc/config/netbsd-protos.h *** gcc-7.2.0/gcc/config/netbsd-protos.h Thu Jan 1 00:00:00 1970 --- gcc-7.3.0/gcc/config/netbsd-protos.h Fri Sep 29 09:38:08 2017 *************** *** 0 **** --- 1,20 ---- + /* Prototypes. + Copyright (C) 2017 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + GCC is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + . */ + + extern void netbsd_patch_builtins (void); diff -Nrcpad gcc-7.2.0/gcc/config/netbsd.c gcc-7.3.0/gcc/config/netbsd.c *** gcc-7.2.0/gcc/config/netbsd.c Thu Jan 1 00:00:00 1970 --- gcc-7.3.0/gcc/config/netbsd.c Fri Sep 29 09:38:08 2017 *************** *** 0 **** --- 1,54 ---- + /* Functions for generic NetBSD as target machine for GNU C compiler. + Copyright (C) 2017 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + GCC is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + . */ + + #include "config.h" + #include "system.h" + #include "coretypes.h" + #include "tm.h" + #include "tree.h" + #include "varasm.h" + #include "netbsd-protos.h" + + static void + netbsd_patch_builtin (enum built_in_function fncode) + { + tree fn = builtin_decl_explicit (fncode); + tree sym; + char *newname; + + if (!fn) + return; + + sym = DECL_ASSEMBLER_NAME (fn); + newname = ACONCAT (("__c99_", IDENTIFIER_POINTER (sym), NULL)); + + set_user_assembler_name (fn, newname); + + fn = builtin_decl_implicit (fncode); + if (fn) + set_user_assembler_name (fn, newname); + } + + void + netbsd_patch_builtins (void) + { + netbsd_patch_builtin (BUILT_IN_CABSF); + netbsd_patch_builtin (BUILT_IN_CABS); + netbsd_patch_builtin (BUILT_IN_CABSL); + } diff -Nrcpad gcc-7.2.0/gcc/config/netbsd.h gcc-7.3.0/gcc/config/netbsd.h *** gcc-7.2.0/gcc/config/netbsd.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/netbsd.h Fri Sep 29 21:34:00 2017 *************** along with GCC; see the file COPYING3. *** 96,101 **** --- 96,102 ---- %{!pg:-lposix}} \ %{p:-lposix_p} \ %{pg:-lposix_p}} \ + %{shared:-lc} \ %{!shared: \ %{!symbolic: \ %{!p: \ *************** along with GCC; see the file COPYING3. *** 109,114 **** --- 110,116 ---- %{!pg:-lposix}} \ %{p:-lposix_p} \ %{pg:-lposix_p}} \ + %{shared:-lc} \ %{!shared: \ %{!symbolic: \ %{!p: \ *************** along with GCC; see the file COPYING3. *** 120,127 **** #undef LIB_SPEC #define LIB_SPEC NETBSD_LIB_SPEC ! /* Provide a LIBGCC_SPEC appropriate for NetBSD. We also want to exclude ! libgcc with -symbolic. */ #ifdef NETBSD_NATIVE #define NETBSD_LIBGCC_SPEC \ --- 122,128 ---- #undef LIB_SPEC #define LIB_SPEC NETBSD_LIB_SPEC ! /* Provide a LIBGCC_SPEC appropriate for NetBSD. */ #ifdef NETBSD_NATIVE #define NETBSD_LIBGCC_SPEC \ *************** along with GCC; see the file COPYING3. *** 133,139 **** %{p: -lgcc_p} \ %{pg: -lgcc_p}}" #else ! #define NETBSD_LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}" #endif #undef LIBGCC_SPEC --- 134,140 ---- %{p: -lgcc_p} \ %{pg: -lgcc_p}}" #else ! #define NETBSD_LIBGCC_SPEC "-lgcc" #endif #undef LIBGCC_SPEC *************** along with GCC; see the file COPYING3. *** 179,181 **** --- 180,188 ---- #undef WINT_TYPE #define WINT_TYPE "int" + + #undef SUBTARGET_INIT_BUILTINS + #define SUBTARGET_INIT_BUILTINS \ + do { \ + netbsd_patch_builtins (); \ + } while(0) diff -Nrcpad gcc-7.2.0/gcc/config/pa/pa.c gcc-7.3.0/gcc/config/pa/pa.c *** gcc-7.2.0/gcc/config/pa/pa.c Thu May 11 00:13:00 2017 --- gcc-7.3.0/gcc/config/pa/pa.c Sun Dec 17 17:02:10 2017 *************** pa_legitimate_address_p (machine_mode mo *** 10511,10519 **** if (!TARGET_DISABLE_INDEXING && GET_CODE (index) == MULT ! && MODE_OK_FOR_SCALED_INDEXING_P (mode) && REG_P (XEXP (index, 0)) && GET_MODE (XEXP (index, 0)) == Pmode && (strict ? STRICT_REG_OK_FOR_INDEX_P (XEXP (index, 0)) : REG_OK_FOR_INDEX_P (XEXP (index, 0))) && GET_CODE (XEXP (index, 1)) == CONST_INT --- 10511,10526 ---- if (!TARGET_DISABLE_INDEXING && GET_CODE (index) == MULT ! /* Only accept base operands with the REG_POINTER flag prior to ! reload on targets with non-equivalent space registers. */ ! && (TARGET_NO_SPACE_REGS ! || (base == XEXP (x, 1) ! && (reload_completed ! || (reload_in_progress && HARD_REGISTER_P (base)) ! || REG_POINTER (base)))) && REG_P (XEXP (index, 0)) && GET_MODE (XEXP (index, 0)) == Pmode + && MODE_OK_FOR_SCALED_INDEXING_P (mode) && (strict ? STRICT_REG_OK_FOR_INDEX_P (XEXP (index, 0)) : REG_OK_FOR_INDEX_P (XEXP (index, 0))) && GET_CODE (XEXP (index, 1)) == CONST_INT diff -Nrcpad gcc-7.2.0/gcc/config/riscv/linux.h gcc-7.3.0/gcc/config/riscv/linux.h *** gcc-7.2.0/gcc/config/riscv/linux.h Mon Feb 6 21:38:37 2017 --- gcc-7.3.0/gcc/config/riscv/linux.h Tue Jan 2 20:57:54 2018 *************** along with GCC; see the file COPYING3. *** 24,29 **** --- 24,40 ---- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1" + #define MUSL_ABI_SUFFIX \ + "%{mabi=ilp32:-sf}" \ + "%{mabi=ilp32f:-sp}" \ + "%{mabi=ilp32d:}" \ + "%{mabi=lp64:-sf}" \ + "%{mabi=lp64f:-sp}" \ + "%{mabi=lp64d:}" \ + + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1" + /* Because RISC-V only has word-sized atomics, it requries libatomic where others do not. So link libatomic by default, as needed. */ #undef LIB_SPEC *************** along with GCC; see the file COPYING3. *** 34,39 **** --- 45,52 ---- #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC " -latomic " #endif + #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" + #define LINK_SPEC "\ -melf" XLEN_SPEC "lriscv \ %{shared} \ diff -Nrcpad gcc-7.2.0/gcc/config/riscv/pic.md gcc-7.3.0/gcc/config/riscv/pic.md *** gcc-7.2.0/gcc/config/riscv/pic.md Mon Feb 6 21:38:37 2017 --- gcc-7.3.0/gcc/config/riscv/pic.md Tue Nov 28 00:55:03 2017 *************** *** 22,34 **** ;; Simplify PIC loads to static variables. ;; These should go away once we figure out how to emit auipc discretely. ! (define_insn "*local_pic_load" [(set (match_operand:ANYI 0 "register_operand" "=r") ! (mem:ANYI (match_operand 1 "absolute_symbolic_operand" "")))] "USE_LOAD_ADDRESS_MACRO (operands[1])" "\t%0,%1" [(set (attr "length") (const_int 8))]) (define_insn "*local_pic_load" [(set (match_operand:ANYF 0 "register_operand" "=f") (mem:ANYF (match_operand 1 "absolute_symbolic_operand" ""))) --- 22,41 ---- ;; Simplify PIC loads to static variables. ;; These should go away once we figure out how to emit auipc discretely. ! (define_insn "*local_pic_load_s" [(set (match_operand:ANYI 0 "register_operand" "=r") ! (sign_extend:ANYI (mem:ANYI (match_operand 1 "absolute_symbolic_operand" ""))))] "USE_LOAD_ADDRESS_MACRO (operands[1])" "\t%0,%1" [(set (attr "length") (const_int 8))]) + (define_insn "*local_pic_load_u" + [(set (match_operand:ZERO_EXTEND_LOAD 0 "register_operand" "=r") + (zero_extend:ZERO_EXTEND_LOAD (mem:ZERO_EXTEND_LOAD (match_operand 1 "absolute_symbolic_operand" ""))))] + "USE_LOAD_ADDRESS_MACRO (operands[1])" + "u\t%0,%1" + [(set (attr "length") (const_int 8))]) + (define_insn "*local_pic_load" [(set (match_operand:ANYF 0 "register_operand" "=f") (mem:ANYF (match_operand 1 "absolute_symbolic_operand" ""))) diff -Nrcpad gcc-7.2.0/gcc/config/riscv/riscv.c gcc-7.3.0/gcc/config/riscv/riscv.c *** gcc-7.2.0/gcc/config/riscv/riscv.c Mon Mar 20 16:43:21 2017 --- gcc-7.3.0/gcc/config/riscv/riscv.c Tue Jan 9 01:01:45 2018 *************** *** 1,5 **** /* Subroutines used for code generation for RISC-V. ! Copyright (C) 2011-2017 Free Software Foundation, Inc. Contributed by Andrew Waterman (andrew@sifive.com). Based on MIPS target for GNU compiler. --- 1,5 ---- /* Subroutines used for code generation for RISC-V. ! Copyright (C) 2011-2018 Free Software Foundation, Inc. Contributed by Andrew Waterman (andrew@sifive.com). Based on MIPS target for GNU compiler. *************** struct GTY(()) machine_function { *** 177,185 **** This area is allocated by the callee at the very top of the frame. */ int varargs_size; - /* Memoized return value of leaf_function_p. <0 if false, >0 if true. */ - int is_leaf; - /* The current frame information, calculated by riscv_compute_frame_info. */ struct riscv_frame_info frame; }; --- 177,182 ---- *************** struct riscv_tune_info *** 255,260 **** --- 252,258 ---- unsigned short issue_rate; unsigned short branch_cost; unsigned short memory_cost; + bool slow_unaligned_access; }; /* Information about one CPU we know about. */ *************** struct riscv_cpu_info { *** 268,273 **** --- 266,274 ---- /* Global variables for machine-dependent things. */ + /* Whether unaligned accesses execute very slowly. */ + bool riscv_slow_unaligned_access; + /* Which tuning parameters to use. */ static const struct riscv_tune_info *tune_info; *************** static const struct riscv_tune_info rock *** 301,307 **** {COSTS_N_INSNS (6), COSTS_N_INSNS (6)}, /* int_div */ 1, /* issue_rate */ 3, /* branch_cost */ ! 5 /* memory_cost */ }; /* Costs to use when optimizing for size. */ --- 302,309 ---- {COSTS_N_INSNS (6), COSTS_N_INSNS (6)}, /* int_div */ 1, /* issue_rate */ 3, /* branch_cost */ ! 5, /* memory_cost */ ! true, /* slow_unaligned_access */ }; /* Costs to use when optimizing for size. */ *************** static const struct riscv_tune_info opti *** 313,324 **** {COSTS_N_INSNS (1), COSTS_N_INSNS (1)}, /* int_div */ 1, /* issue_rate */ 1, /* branch_cost */ ! 2 /* memory_cost */ }; /* A table describing all the processors GCC knows about. */ static const struct riscv_cpu_info riscv_cpu_info_table[] = { { "rocket", &rocket_tune_info }, }; /* Return the riscv_cpu_info entry for the given name string. */ --- 315,328 ---- {COSTS_N_INSNS (1), COSTS_N_INSNS (1)}, /* int_div */ 1, /* issue_rate */ 1, /* branch_cost */ ! 2, /* memory_cost */ ! false, /* slow_unaligned_access */ }; /* A table describing all the processors GCC knows about. */ static const struct riscv_cpu_info riscv_cpu_info_table[] = { { "rocket", &rocket_tune_info }, + { "size", &optimize_size_tune_info }, }; /* Return the riscv_cpu_info entry for the given name string. */ *************** riscv_valid_lo_sum_p (enum riscv_symbol_ *** 726,732 **** /* We may need to split multiword moves, so make sure that each word can be accessed without inducing a carry. */ if (GET_MODE_SIZE (mode) > UNITS_PER_WORD ! && GET_MODE_BITSIZE (mode) > GET_MODE_ALIGNMENT (mode)) return false; return true; --- 730,737 ---- /* We may need to split multiword moves, so make sure that each word can be accessed without inducing a carry. */ if (GET_MODE_SIZE (mode) > UNITS_PER_WORD ! && (!TARGET_STRICT_ALIGN ! || GET_MODE_BITSIZE (mode) > GET_MODE_ALIGNMENT (mode))) return false; return true; *************** riscv_legitimize_move (enum machine_mode *** 1377,1382 **** --- 1382,1403 ---- return true; } + /* RISC-V GCC may generate non-legitimate address due to we provide some + pattern for optimize access PIC local symbol and it's make GCC generate + unrecognizable instruction during optmizing. */ + + if (MEM_P (dest) && !riscv_legitimate_address_p (mode, XEXP (dest, 0), + reload_completed)) + { + XEXP (dest, 0) = riscv_force_address (XEXP (dest, 0), mode); + } + + if (MEM_P (src) && !riscv_legitimate_address_p (mode, XEXP (src, 0), + reload_completed)) + { + XEXP (src, 0) = riscv_force_address (XEXP (src, 0), mode); + } + return false; } *************** riscv_option_override (void) *** 3773,3778 **** --- 3794,3809 ---- RISCV_TUNE_STRING_DEFAULT); tune_info = optimize_size ? &optimize_size_tune_info : cpu->tune_info; + /* Use -mtune's setting for slow_unaligned_access, even when optimizing + for size. For architectures that trap and emulate unaligned accesses, + the performance cost is too great, even for -Os. Similarly, if + -m[no-]strict-align is left unspecified, heed -mtune's advice. */ + riscv_slow_unaligned_access = (cpu->tune_info->slow_unaligned_access + || TARGET_STRICT_ALIGN); + if ((target_flags_explicit & MASK_STRICT_ALIGN) == 0 + && cpu->tune_info->slow_unaligned_access) + target_flags |= MASK_STRICT_ALIGN; + /* If the user hasn't specified a branch cost, use the processor's default. */ if (riscv_branch_cost == 0) *************** riscv_trampoline_init (rtx m_tramp, tree *** 3960,3985 **** emit_insn (gen_clear_cache (addr, end_addr)); } - /* Return leaf_function_p () and memoize the result. */ - - static bool - riscv_leaf_function_p (void) - { - if (cfun->machine->is_leaf == 0) - cfun->machine->is_leaf = leaf_function_p () ? 1 : -1; - - return cfun->machine->is_leaf > 0; - } - /* Implement TARGET_FUNCTION_OK_FOR_SIBCALL. */ static bool riscv_function_ok_for_sibcall (tree decl ATTRIBUTE_UNUSED, tree exp ATTRIBUTE_UNUSED) { ! /* When optimzing for size, don't use sibcalls in non-leaf routines */ if (TARGET_SAVE_RESTORE) ! return riscv_leaf_function_p (); return true; } --- 3991,4005 ---- emit_insn (gen_clear_cache (addr, end_addr)); } /* Implement TARGET_FUNCTION_OK_FOR_SIBCALL. */ static bool riscv_function_ok_for_sibcall (tree decl ATTRIBUTE_UNUSED, tree exp ATTRIBUTE_UNUSED) { ! /* Don't use sibcalls when use save-restore routine. */ if (TARGET_SAVE_RESTORE) ! return false; return true; } diff -Nrcpad gcc-7.2.0/gcc/config/riscv/riscv.h gcc-7.3.0/gcc/config/riscv/riscv.h *** gcc-7.2.0/gcc/config/riscv/riscv.h Mon Feb 6 21:38:37 2017 --- gcc-7.3.0/gcc/config/riscv/riscv.h Wed Nov 29 00:00:01 2017 *************** along with GCC; see the file COPYING3. *** 126,135 **** /* There is no point aligning anything to a rounder boundary than this. */ #define BIGGEST_ALIGNMENT 128 ! /* The user-level ISA permits misaligned accesses, but they may execute ! extremely slowly and non-atomically. Some privileged architectures ! do not permit them at all. It is best to enforce strict alignment. */ ! #define STRICT_ALIGNMENT 1 /* Define this if you wish to imitate the way many other C compilers handle alignment of bitfields and the structures that contain --- 126,136 ---- /* There is no point aligning anything to a rounder boundary than this. */ #define BIGGEST_ALIGNMENT 128 ! /* The user-level ISA permits unaligned accesses, but they are not required ! of the privileged architecture. */ ! #define STRICT_ALIGNMENT TARGET_STRICT_ALIGN ! ! #define SLOW_UNALIGNED_ACCESS(MODE, ALIGN) riscv_slow_unaligned_access /* Define this if you wish to imitate the way many other C compilers handle alignment of bitfields and the structures that contain *************** while (0) *** 864,869 **** --- 865,871 ---- #ifndef USED_FOR_TARGET extern const enum reg_class riscv_regno_to_class[]; extern bool riscv_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER]; + extern bool riscv_slow_unaligned_access; #endif #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ diff -Nrcpad gcc-7.2.0/gcc/config/riscv/riscv.md gcc-7.3.0/gcc/config/riscv/riscv.md *** gcc-7.2.0/gcc/config/riscv/riscv.md Mon Feb 6 21:38:37 2017 --- gcc-7.3.0/gcc/config/riscv/riscv.md Tue Jan 2 20:57:54 2018 *************** *** 259,264 **** --- 259,267 ---- ;; Iterator for QImode extension patterns. (define_mode_iterator SUPERQI [HI SI (DI "TARGET_64BIT")]) + ;; Iterator for extending loads. + (define_mode_iterator ZERO_EXTEND_LOAD [QI HI (SI "TARGET_64BIT")]) + ;; Iterator for hardware integer modes narrower than XLEN. (define_mode_iterator SUBX [QI HI (SI "TARGET_64BIT")]) *************** *** 1426,1432 **** --- 1429,1441 ---- (match_operand 1 "pmode_register_operand")] "" { + #ifdef ICACHE_FLUSH_FUNC + emit_library_call (gen_rtx_SYMBOL_REF (Pmode, ICACHE_FLUSH_FUNC), + LCT_NORMAL, VOIDmode, 3, operands[0], Pmode, + operands[1], Pmode, const0_rtx, Pmode); + #else emit_insn (gen_fence_i ()); + #endif DONE; }) diff -Nrcpad gcc-7.2.0/gcc/config/riscv/riscv.opt gcc-7.3.0/gcc/config/riscv/riscv.opt *** gcc-7.2.0/gcc/config/riscv/riscv.opt Mon Feb 6 21:38:37 2017 --- gcc-7.3.0/gcc/config/riscv/riscv.opt Wed Nov 29 00:00:01 2017 *************** mcmodel= *** 84,89 **** --- 84,93 ---- Target Report RejectNegative Joined Enum(code_model) Var(riscv_cmodel) Init(TARGET_DEFAULT_CMODEL) Specify the code model. + mstrict-align + Target Report Mask(STRICT_ALIGN) Save + Do not generate unaligned memory accesses. + Enum Name(code_model) Type(enum riscv_code_model) Known code models (for use with the -mcmodel= option): diff -Nrcpad gcc-7.2.0/gcc/config/riscv/rtems.h gcc-7.3.0/gcc/config/riscv/rtems.h *** gcc-7.2.0/gcc/config/riscv/rtems.h Thu Jan 1 00:00:00 1970 --- gcc-7.3.0/gcc/config/riscv/rtems.h Tue Aug 22 06:16:51 2017 *************** *** 0 **** --- 1,31 ---- + /* Definitions for RISC-V RTEMS systems with ELF format. + Copyright (C) 2017 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3, or (at your + option) any later version. + + GCC is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + . */ + + #undef TARGET_OS_CPP_BUILTINS + #define TARGET_OS_CPP_BUILTINS() \ + do { \ + builtin_define ("__rtems__"); \ + builtin_define ("__USE_INIT_FINI__"); \ + builtin_assert ("system=rtems"); \ + } while (0) diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/altivec.md gcc-7.3.0/gcc/config/rs6000/altivec.md *** gcc-7.2.0/gcc/config/rs6000/altivec.md Fri Feb 10 21:07:36 2017 --- gcc-7.3.0/gcc/config/rs6000/altivec.md Sun Jan 14 17:47:30 2018 *************** *** 1749,1799 **** "vsum4ss %0,%1,%2" [(set_attr "type" "veccomplex")]) ! ;; FIXME: For the following two patterns, the scratch should only be ! ;; allocated for !VECTOR_ELT_ORDER_BIG, and the instructions should ! ;; be emitted separately. ! (define_insn "altivec_vsum2sws" ! [(set (match_operand:V4SI 0 "register_operand" "=v") ! (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v") ! (match_operand:V4SI 2 "register_operand" "v")] ! UNSPEC_VSUM2SWS)) ! (set (reg:SI VSCR_REGNO) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR)) ! (clobber (match_scratch:V4SI 3 "=v"))] "TARGET_ALTIVEC" { if (VECTOR_ELT_ORDER_BIG) ! return "vsum2sws %0,%1,%2"; else ! return "vsldoi %3,%2,%2,12\n\tvsum2sws %3,%1,%3\n\tvsldoi %0,%3,%3,4"; ! } ! [(set_attr "type" "veccomplex") ! (set (attr "length") ! (if_then_else ! (match_test "VECTOR_ELT_ORDER_BIG") ! (const_string "4") ! (const_string "12")))]) ! (define_insn "altivec_vsumsws" [(set (match_operand:V4SI 0 "register_operand" "=v") (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v") ! (match_operand:V4SI 2 "register_operand" "v")] ! UNSPEC_VSUMSWS)) ! (set (reg:SI VSCR_REGNO) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR)) ! (clobber (match_scratch:V4SI 3 "=v"))] "TARGET_ALTIVEC" { if (VECTOR_ELT_ORDER_BIG) ! return "vsumsws %0,%1,%2"; else ! return "vspltw %3,%2,0\n\tvsumsws %3,%1,%3\n\tvsldoi %0,%3,%3,12"; ! } ! [(set_attr "type" "veccomplex") ! (set (attr "length") ! (if_then_else ! (match_test "(VECTOR_ELT_ORDER_BIG)") ! (const_string "4") ! (const_string "12")))]) (define_insn "altivec_vsumsws_direct" [(set (match_operand:V4SI 0 "register_operand" "=v") (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v") --- 1749,1809 ---- "vsum4ss %0,%1,%2" [(set_attr "type" "veccomplex")]) ! (define_expand "altivec_vsum2sws" ! [(use (match_operand:V4SI 0 "register_operand")) ! (use (match_operand:V4SI 1 "register_operand")) ! (use (match_operand:V4SI 2 "register_operand"))] "TARGET_ALTIVEC" { if (VECTOR_ELT_ORDER_BIG) ! emit_insn (gen_altivec_vsum2sws_direct (operands[0], operands[1], ! operands[2])); else ! { ! rtx tmp1 = gen_reg_rtx (V4SImode); ! rtx tmp2 = gen_reg_rtx (V4SImode); ! emit_insn (gen_altivec_vsldoi_v4si (tmp1, operands[2], ! operands[2], GEN_INT (12))); ! emit_insn (gen_altivec_vsum2sws_direct (tmp2, operands[1], tmp1)); ! emit_insn (gen_altivec_vsldoi_v4si (operands[0], tmp2, tmp2, ! GEN_INT (4))); ! } ! DONE; ! }) ! ; FIXME: This can probably be expressed without an UNSPEC. ! (define_insn "altivec_vsum2sws_direct" [(set (match_operand:V4SI 0 "register_operand" "=v") (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v") ! (match_operand:V4SI 2 "register_operand" "v")] ! UNSPEC_VSUM2SWS)) ! (set (reg:SI VSCR_REGNO) (unspec:SI [(const_int 0)] UNSPEC_SET_VSCR))] ! "TARGET_ALTIVEC" ! "vsum2sws %0,%1,%2" ! [(set_attr "type" "veccomplex")]) ! ! (define_expand "altivec_vsumsws" ! [(use (match_operand:V4SI 0 "register_operand")) ! (use (match_operand:V4SI 1 "register_operand")) ! (use (match_operand:V4SI 2 "register_operand"))] "TARGET_ALTIVEC" { if (VECTOR_ELT_ORDER_BIG) ! emit_insn (gen_altivec_vsumsws_direct (operands[0], operands[1], ! operands[2])); else ! { ! rtx tmp1 = gen_reg_rtx (V4SImode); ! rtx tmp2 = gen_reg_rtx (V4SImode); ! emit_insn (gen_altivec_vspltw_direct (tmp1, operands[2], const0_rtx)); ! emit_insn (gen_altivec_vsumsws_direct (tmp2, operands[1], tmp1)); ! emit_insn (gen_altivec_vsldoi_v4si (operands[0], tmp2, tmp2, ! GEN_INT (12))); ! } ! DONE; ! }) + ; FIXME: This can probably be expressed without an UNSPEC. (define_insn "altivec_vsumsws_direct" [(set (match_operand:V4SI 0 "register_operand" "=v") (unspec:V4SI [(match_operand:V4SI 1 "register_operand" "v") *************** *** 2107,2113 **** UNSPEC_VPERMR))] "TARGET_P9_VECTOR" "@ ! vpermr %0,%2,%1,%3 xxpermr %x0,%x1,%x3" [(set_attr "type" "vecperm") (set_attr "length" "4")]) --- 2117,2123 ---- UNSPEC_VPERMR))] "TARGET_P9_VECTOR" "@ ! vpermr %0,%1,%2,%3 xxpermr %x0,%x1,%x3" [(set_attr "type" "vecperm") (set_attr "length" "4")]) diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/power6.md gcc-7.3.0/gcc/config/rs6000/power6.md *** gcc-7.2.0/gcc/config/rs6000/power6.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/rs6000/power6.md Thu Dec 7 13:20:27 2017 *************** *** 108,114 **** power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "store_data_bypass_p") (define_insn_reservation "power6-load-ext" 4 ; fx (and (eq_attr "type" "load") --- 108,114 ---- power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "rs6000_store_data_bypass_p") (define_insn_reservation "power6-load-ext" 4 ; fx (and (eq_attr "type" "load") *************** *** 128,134 **** power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "store_data_bypass_p") (define_insn_reservation "power6-load-update" 2 ; fx (and (eq_attr "type" "load") --- 128,134 ---- power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "rs6000_store_data_bypass_p") (define_insn_reservation "power6-load-update" 2 ; fx (and (eq_attr "type" "load") *************** *** 276,282 **** power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "store_data_bypass_p") (define_insn_reservation "power6-cntlz" 2 (and (eq_attr "type" "cntlz") --- 276,282 ---- power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "rs6000_store_data_bypass_p") (define_insn_reservation "power6-cntlz" 2 (and (eq_attr "type" "cntlz") *************** *** 289,295 **** power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "store_data_bypass_p") (define_insn_reservation "power6-var-rotate" 4 (and (eq_attr "type" "shift") --- 289,295 ---- power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "rs6000_store_data_bypass_p") (define_insn_reservation "power6-var-rotate" 4 (and (eq_attr "type" "shift") *************** *** 355,361 **** power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "store_data_bypass_p") (define_insn_reservation "power6-delayed-compare" 2 ; N/A (and (eq_attr "type" "shift") --- 355,361 ---- power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "rs6000_store_data_bypass_p") (define_insn_reservation "power6-delayed-compare" 2 ; N/A (and (eq_attr "type" "shift") *************** *** 420,426 **** power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "store_data_bypass_p") (define_insn_reservation "power6-idiv" 44 (and (eq_attr "type" "div") --- 420,426 ---- power6-store-update-indexed,\ power6-fpstore,\ power6-fpstore-update" ! "rs6000_store_data_bypass_p") (define_insn_reservation "power6-idiv" 44 (and (eq_attr "type" "div") *************** *** 436,442 **** ; power6-store-update-indexed,\ ; power6-fpstore,\ ; power6-fpstore-update" ! ; "store_data_bypass_p") (define_insn_reservation "power6-ldiv" 56 (and (eq_attr "type" "div") --- 436,442 ---- ; power6-store-update-indexed,\ ; power6-fpstore,\ ; power6-fpstore-update" ! ; "rs6000_store_data_bypass_p") (define_insn_reservation "power6-ldiv" 56 (and (eq_attr "type" "div") *************** *** 452,458 **** ; power6-store-update-indexed,\ ; power6-fpstore,\ ; power6-fpstore-update" ! ; "store_data_bypass_p") (define_insn_reservation "power6-mtjmpr" 2 (and (eq_attr "type" "mtjmpr,mfjmpr") --- 452,458 ---- ; power6-store-update-indexed,\ ; power6-fpstore,\ ; power6-fpstore-update" ! ; "rs6000_store_data_bypass_p") (define_insn_reservation "power6-mtjmpr" 2 (and (eq_attr "type" "mtjmpr,mfjmpr") *************** *** 510,516 **** (define_bypass 1 "power6-fp" "power6-fpstore,power6-fpstore-update" ! "store_data_bypass_p") (define_insn_reservation "power6-fpcompare" 8 (and (eq_attr "type" "fpcompare") --- 510,516 ---- (define_bypass 1 "power6-fp" "power6-fpstore,power6-fpstore-update" ! "rs6000_store_data_bypass_p") (define_insn_reservation "power6-fpcompare" 8 (and (eq_attr "type" "fpcompare") diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/ppc-asm.h gcc-7.3.0/gcc/config/rs6000/ppc-asm.h *** gcc-7.2.0/gcc/config/rs6000/ppc-asm.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/rs6000/ppc-asm.h Tue Nov 21 19:01:38 2017 *************** see the files COPYING3 and COPYING.RUNTI *** 120,126 **** #define f47 47 #define f48 48 #define f49 49 ! #define f50 30 #define f51 51 #define f52 52 #define f53 53 --- 120,126 ---- #define f47 47 #define f48 48 #define f49 49 ! #define f50 50 #define f51 51 #define f52 52 #define f53 53 *************** see the files COPYING3 and COPYING.RUNTI *** 222,228 **** #define vs47 47 #define vs48 48 #define vs49 49 ! #define vs50 30 #define vs51 51 #define vs52 52 #define vs53 53 --- 222,228 ---- #define vs47 47 #define vs48 48 #define vs49 49 ! #define vs50 50 #define vs51 51 #define vs52 52 #define vs53 53 diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/ppc-auxv.h gcc-7.3.0/gcc/config/rs6000/ppc-auxv.h *** gcc-7.2.0/gcc/config/rs6000/ppc-auxv.h Fri Jul 28 22:29:31 2017 --- gcc-7.3.0/gcc/config/rs6000/ppc-auxv.h Thu Dec 14 03:43:10 2017 *************** *** 91,96 **** --- 91,97 ---- #define PPC_FEATURE2_HAS_IEEE128 0x00400000 #define PPC_FEATURE2_DARN 0x00200000 #define PPC_FEATURE2_SCV 0x00100000 + #define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* Thread Control Block (TCB) offsets of the AT_PLATFORM, AT_HWCAP and diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/rs6000-c.c gcc-7.3.0/gcc/config/rs6000/rs6000-c.c *** gcc-7.2.0/gcc/config/rs6000/rs6000-c.c Tue Aug 1 16:44:17 2017 --- gcc-7.3.0/gcc/config/rs6000/rs6000-c.c Fri Sep 15 11:24:49 2017 *************** altivec_resolve_overloaded_builtin (loca *** 6218,6224 **** /* Strip qualifiers like "const" from the pointer arg. */ tree arg1_type = TREE_TYPE (arg1); ! if (!POINTER_TYPE_P (arg1_type) && TREE_CODE (arg1_type) != ARRAY_TYPE) goto bad; tree inner_type = TREE_TYPE (arg1_type); --- 6218,6230 ---- /* Strip qualifiers like "const" from the pointer arg. */ tree arg1_type = TREE_TYPE (arg1); ! if (TREE_CODE (arg1_type) == ARRAY_TYPE && c_dialect_cxx ()) ! { ! /* Force array-to-pointer decay for C++. */ ! arg1 = default_conversion (arg1); ! arg1_type = TREE_TYPE (arg1); ! } ! if (!POINTER_TYPE_P (arg1_type)) goto bad; tree inner_type = TREE_TYPE (arg1_type); *************** altivec_resolve_overloaded_builtin (loca *** 6238,6252 **** if (!ptrofftype_p (TREE_TYPE (arg0))) arg0 = build1 (NOP_EXPR, sizetype, arg0); - tree arg1_type = TREE_TYPE (arg1); - if (TREE_CODE (arg1_type) == ARRAY_TYPE) - { - arg1_type = TYPE_POINTER_TO (TREE_TYPE (arg1_type)); - tree const0 = build_int_cstu (sizetype, 0); - tree arg1_elt0 = build_array_ref (loc, arg1, const0); - arg1 = build1 (ADDR_EXPR, arg1_type, arg1_elt0); - } - tree addr = fold_build2_loc (loc, POINTER_PLUS_EXPR, arg1_type, arg1, arg0); tree aligned = fold_build2_loc (loc, BIT_AND_EXPR, arg1_type, addr, --- 6244,6249 ---- *************** altivec_resolve_overloaded_builtin (loca *** 6301,6312 **** arg1 = build1 (NOP_EXPR, sizetype, arg1); tree arg2_type = TREE_TYPE (arg2); ! if (TREE_CODE (arg2_type) == ARRAY_TYPE) { ! arg2_type = TYPE_POINTER_TO (TREE_TYPE (arg2_type)); ! tree const0 = build_int_cstu (sizetype, 0); ! tree arg2_elt0 = build_array_ref (loc, arg2, const0); ! arg2 = build1 (ADDR_EXPR, arg2_type, arg2_elt0); } /* Find the built-in to make sure a compatible one exists; if not --- 6298,6308 ---- arg1 = build1 (NOP_EXPR, sizetype, arg1); tree arg2_type = TREE_TYPE (arg2); ! if (TREE_CODE (arg2_type) == ARRAY_TYPE && c_dialect_cxx ()) { ! /* Force array-to-pointer decay for C++. */ ! arg2 = default_conversion (arg2); ! arg2_type = TREE_TYPE (arg2); } /* Find the built-in to make sure a compatible one exists; if not diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/rs6000-protos.h gcc-7.3.0/gcc/config/rs6000/rs6000-protos.h *** gcc-7.2.0/gcc/config/rs6000/rs6000-protos.h Tue Jan 31 13:38:35 2017 --- gcc-7.3.0/gcc/config/rs6000/rs6000-protos.h Thu Dec 14 17:43:32 2017 *************** extern void rs6000_aix_asm_output_dwarf_ *** 226,231 **** --- 226,232 ---- extern void get_ppc476_thunk_name (char name[32]); extern bool rs6000_overloaded_builtin_p (enum rs6000_builtins); extern const char *rs6000_overloaded_builtin_name (enum rs6000_builtins); + extern int rs6000_store_data_bypass_p (rtx_insn *, rtx_insn *); extern HOST_WIDE_INT rs6000_builtin_mask_calculate (void); extern void rs6000_asm_output_dwarf_pcrel (FILE *file, int size, const char *label); *************** extern void rs6000_cpu_cpp_builtins (str *** 239,244 **** --- 240,246 ---- #ifdef TREE_CODE extern bool rs6000_pragma_target_parse (tree, tree); #endif + extern void rs6000_activate_target_options (tree new_tree); extern void rs6000_target_modify_macros (bool, HOST_WIDE_INT, HOST_WIDE_INT); extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, HOST_WIDE_INT); diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/rs6000.c gcc-7.3.0/gcc/config/rs6000/rs6000.c *** gcc-7.2.0/gcc/config/rs6000/rs6000.c Fri Jul 28 22:29:31 2017 --- gcc-7.3.0/gcc/config/rs6000/rs6000.c Thu Jan 18 01:34:10 2018 *************** static const struct *** 375,380 **** --- 375,381 ---- { "ebb", PPC_FEATURE2_HAS_EBB, 1 }, { "htm", PPC_FEATURE2_HAS_HTM, 1 }, { "htm-nosc", PPC_FEATURE2_HTM_NOSC, 1 }, + { "htm-no-suspend", PPC_FEATURE2_HTM_NO_SUSPEND, 1 }, { "isel", PPC_FEATURE2_HAS_ISEL, 1 }, { "tar", PPC_FEATURE2_HAS_TAR, 1 }, { "vcrypto", PPC_FEATURE2_HAS_VEC_CRYPTO, 1 }, *************** mode_supports_pre_modify_p (machine_mode *** 510,515 **** --- 511,601 ---- != 0); } + /* Given that there exists at least one variable that is set (produced) + by OUT_INSN and read (consumed) by IN_INSN, return true iff + IN_INSN represents one or more memory store operations and none of + the variables set by OUT_INSN is used by IN_INSN as the address of a + store operation. If either IN_INSN or OUT_INSN does not represent + a "single" RTL SET expression (as loosely defined by the + implementation of the single_set function) or a PARALLEL with only + SETs, CLOBBERs, and USEs inside, this function returns false. + + This rs6000-specific version of store_data_bypass_p checks for + certain conditions that result in assertion failures (and internal + compiler errors) in the generic store_data_bypass_p function and + returns false rather than calling store_data_bypass_p if one of the + problematic conditions is detected. */ + + int + rs6000_store_data_bypass_p (rtx_insn *out_insn, rtx_insn *in_insn) + { + rtx out_set, in_set; + rtx out_pat, in_pat; + rtx out_exp, in_exp; + int i, j; + + in_set = single_set (in_insn); + if (in_set) + { + if (MEM_P (SET_DEST (in_set))) + { + out_set = single_set (out_insn); + if (!out_set) + { + out_pat = PATTERN (out_insn); + if (GET_CODE (out_pat) == PARALLEL) + { + for (i = 0; i < XVECLEN (out_pat, 0); i++) + { + out_exp = XVECEXP (out_pat, 0, i); + if ((GET_CODE (out_exp) == CLOBBER) + || (GET_CODE (out_exp) == USE)) + continue; + else if (GET_CODE (out_exp) != SET) + return false; + } + } + } + } + } + else + { + in_pat = PATTERN (in_insn); + if (GET_CODE (in_pat) != PARALLEL) + return false; + + for (i = 0; i < XVECLEN (in_pat, 0); i++) + { + in_exp = XVECEXP (in_pat, 0, i); + if ((GET_CODE (in_exp) == CLOBBER) || (GET_CODE (in_exp) == USE)) + continue; + else if (GET_CODE (in_exp) != SET) + return false; + + if (MEM_P (SET_DEST (in_exp))) + { + out_set = single_set (out_insn); + if (!out_set) + { + out_pat = PATTERN (out_insn); + if (GET_CODE (out_pat) != PARALLEL) + return false; + for (j = 0; j < XVECLEN (out_pat, 0); j++) + { + out_exp = XVECEXP (out_pat, 0, j); + if ((GET_CODE (out_exp) == CLOBBER) + || (GET_CODE (out_exp) == USE)) + continue; + else if (GET_CODE (out_exp) != SET) + return false; + } + } + } + } + } + return store_data_bypass_p (out_insn, in_insn); + } + /* Return true if we have D-form addressing in altivec registers. */ static inline bool mode_supports_vmx_dform (machine_mode mode) *************** static bool *** 3899,3912 **** rs6000_option_override_internal (bool global_init_p) { bool ret = true; - bool have_cpu = false; - - /* The default cpu requested at configure time, if any. */ - const char *implicit_cpu = OPTION_TARGET_CPU_DEFAULT; HOST_WIDE_INT set_masks; HOST_WIDE_INT ignore_masks; ! int cpu_index; int tune_index; struct cl_target_option *main_target_opt = ((global_init_p || target_option_default_node == NULL) --- 3985,3994 ---- rs6000_option_override_internal (bool global_init_p) { bool ret = true; HOST_WIDE_INT set_masks; HOST_WIDE_INT ignore_masks; ! int cpu_index = -1; int tune_index; struct cl_target_option *main_target_opt = ((global_init_p || target_option_default_node == NULL) *************** rs6000_option_override_internal (bool gl *** 3984,4076 **** with -mtune on the command line. Process a '--with-cpu' configuration request as an implicit --cpu. */ if (rs6000_cpu_index >= 0) ! { ! cpu_index = rs6000_cpu_index; ! have_cpu = true; ! } else if (main_target_opt != NULL && main_target_opt->x_rs6000_cpu_index >= 0) ! { ! rs6000_cpu_index = cpu_index = main_target_opt->x_rs6000_cpu_index; ! have_cpu = true; ! } ! else if (implicit_cpu) ! { ! rs6000_cpu_index = cpu_index = rs6000_cpu_name_lookup (implicit_cpu); ! have_cpu = true; ! } ! else ! { ! /* PowerPC 64-bit LE requires at least ISA 2.07. */ ! const char *default_cpu = ((!TARGET_POWERPC64) ! ? "powerpc" ! : ((BYTES_BIG_ENDIAN) ! ? "powerpc64" ! : "powerpc64le")); ! ! rs6000_cpu_index = cpu_index = rs6000_cpu_name_lookup (default_cpu); ! have_cpu = false; ! } ! ! gcc_assert (cpu_index >= 0); ! if (have_cpu) { ! #ifndef HAVE_AS_POWER9 ! if (processor_target_table[rs6000_cpu_index].processor ! == PROCESSOR_POWER9) { ! have_cpu = false; ! warning (0, "will not generate power9 instructions because " ! "assembler lacks power9 support"); ! } #endif #ifndef HAVE_AS_POWER8 ! if (processor_target_table[rs6000_cpu_index].processor ! == PROCESSOR_POWER8) ! { ! have_cpu = false; ! warning (0, "will not generate power8 instructions because " ! "assembler lacks power8 support"); ! } #endif #ifndef HAVE_AS_POPCNTD ! if (processor_target_table[rs6000_cpu_index].processor ! == PROCESSOR_POWER7) ! { ! have_cpu = false; ! warning (0, "will not generate power7 instructions because " ! "assembler lacks power7 support"); ! } #endif #ifndef HAVE_AS_DFP ! if (processor_target_table[rs6000_cpu_index].processor ! == PROCESSOR_POWER6) ! { ! have_cpu = false; ! warning (0, "will not generate power6 instructions because " ! "assembler lacks power6 support"); ! } #endif #ifndef HAVE_AS_POPCNTB ! if (processor_target_table[rs6000_cpu_index].processor ! == PROCESSOR_POWER5) ! { ! have_cpu = false; ! warning (0, "will not generate power5 instructions because " ! "assembler lacks power5 support"); ! } #endif ! ! if (!have_cpu) { ! /* PowerPC 64-bit LE requires at least ISA 2.07. */ ! const char *default_cpu = (!TARGET_POWERPC64 ! ? "powerpc" ! : (BYTES_BIG_ENDIAN ! ? "powerpc64" ! : "powerpc64le")); ! ! rs6000_cpu_index = cpu_index = rs6000_cpu_name_lookup (default_cpu); } } --- 4066,4116 ---- with -mtune on the command line. Process a '--with-cpu' configuration request as an implicit --cpu. */ if (rs6000_cpu_index >= 0) ! cpu_index = rs6000_cpu_index; else if (main_target_opt != NULL && main_target_opt->x_rs6000_cpu_index >= 0) ! cpu_index = main_target_opt->x_rs6000_cpu_index; ! else if (OPTION_TARGET_CPU_DEFAULT) ! cpu_index = rs6000_cpu_name_lookup (OPTION_TARGET_CPU_DEFAULT); ! if (cpu_index >= 0) { ! const char *unavailable_cpu = NULL; ! switch (processor_target_table[cpu_index].processor) { ! #ifndef HAVE_AS_POWER9 ! case PROCESSOR_POWER9: ! unavailable_cpu = "power9"; ! break; #endif #ifndef HAVE_AS_POWER8 ! case PROCESSOR_POWER8: ! unavailable_cpu = "power8"; ! break; #endif #ifndef HAVE_AS_POPCNTD ! case PROCESSOR_POWER7: ! unavailable_cpu = "power7"; ! break; #endif #ifndef HAVE_AS_DFP ! case PROCESSOR_POWER6: ! unavailable_cpu = "power6"; ! break; #endif #ifndef HAVE_AS_POPCNTB ! case PROCESSOR_POWER5: ! unavailable_cpu = "power5"; ! break; #endif ! default: ! break; ! } ! if (unavailable_cpu) { ! cpu_index = -1; ! warning (0, "will not generate %qs instructions because " ! "assembler lacks %qs support", unavailable_cpu, ! unavailable_cpu); } } *************** rs6000_option_override_internal (bool gl *** 4079,4086 **** with those from the cpu, except for options that were explicitly set. If we don't have a cpu, do not override the target bits set in TARGET_DEFAULT. */ ! if (have_cpu) { rs6000_isa_flags &= ~set_masks; rs6000_isa_flags |= (processor_target_table[cpu_index].target_enable & set_masks); --- 4119,4127 ---- with those from the cpu, except for options that were explicitly set. If we don't have a cpu, do not override the target bits set in TARGET_DEFAULT. */ ! if (cpu_index >= 0) { + rs6000_cpu_index = cpu_index; rs6000_isa_flags &= ~set_masks; rs6000_isa_flags |= (processor_target_table[cpu_index].target_enable & set_masks); *************** rs6000_option_override_internal (bool gl *** 4094,4107 **** If there is a TARGET_DEFAULT, use that. Otherwise fall back to using -mcpu=powerpc, -mcpu=powerpc64, or -mcpu=powerpc64le defaults. */ ! HOST_WIDE_INT flags = ((TARGET_DEFAULT) ? TARGET_DEFAULT ! : processor_target_table[cpu_index].target_enable); rs6000_isa_flags |= (flags & ~rs6000_isa_flags_explicit); } if (rs6000_tune_index >= 0) tune_index = rs6000_tune_index; ! else if (have_cpu) rs6000_tune_index = tune_index = cpu_index; else { --- 4135,4160 ---- If there is a TARGET_DEFAULT, use that. Otherwise fall back to using -mcpu=powerpc, -mcpu=powerpc64, or -mcpu=powerpc64le defaults. */ ! HOST_WIDE_INT flags; ! if (TARGET_DEFAULT) ! flags = TARGET_DEFAULT; ! else ! { ! /* PowerPC 64-bit LE requires at least ISA 2.07. */ ! const char *default_cpu = (!TARGET_POWERPC64 ! ? "powerpc" ! : (BYTES_BIG_ENDIAN ! ? "powerpc64" ! : "powerpc64le")); ! int default_cpu_index = rs6000_cpu_name_lookup (default_cpu); ! flags = processor_target_table[default_cpu_index].target_enable; ! } rs6000_isa_flags |= (flags & ~rs6000_isa_flags_explicit); } if (rs6000_tune_index >= 0) tune_index = rs6000_tune_index; ! else if (cpu_index >= 0) rs6000_tune_index = tune_index = cpu_index; else { *************** rs6000_option_override_internal (bool gl *** 4113,4119 **** for (i = 0; i < ARRAY_SIZE (processor_target_table); i++) if (processor_target_table[i].processor == tune_proc) { ! rs6000_tune_index = tune_index = i; break; } } --- 4166,4172 ---- for (i = 0; i < ARRAY_SIZE (processor_target_table); i++) if (processor_target_table[i].processor == tune_proc) { ! tune_index = i; break; } } *************** rs6000_option_override_internal (bool gl *** 4286,4292 **** rs6000_isa_flags |= (ISA_3_0_MASKS_SERVER & ~ignore_masks); else if (TARGET_P9_MINMAX) { ! if (have_cpu) { if (cpu_index == PROCESSOR_POWER9) { --- 4339,4345 ---- rs6000_isa_flags |= (ISA_3_0_MASKS_SERVER & ~ignore_masks); else if (TARGET_P9_MINMAX) { ! if (cpu_index >= 0) { if (cpu_index == PROCESSOR_POWER9) { *************** rs6000_option_override_internal (bool gl *** 5036,5042 **** default: ! if (have_cpu && !(rs6000_isa_flags_explicit & OPTION_MASK_ISEL)) rs6000_isa_flags &= ~OPTION_MASK_ISEL; break; --- 5089,5095 ---- default: ! if (cpu_index >= 0 && !(rs6000_isa_flags_explicit & OPTION_MASK_ISEL)) rs6000_isa_flags &= ~OPTION_MASK_ISEL; break; *************** rs6000_builtin_vectorization_cost (enum *** 5766,5773 **** if (SCALAR_FLOAT_TYPE_P (elem_type) && TYPE_PRECISION (elem_type) == 32) return 5; else ! return max (2, TYPE_VECTOR_SUBPARTS (vectype) - 1); default: gcc_unreachable (); --- 5819,5838 ---- if (SCALAR_FLOAT_TYPE_P (elem_type) && TYPE_PRECISION (elem_type) == 32) return 5; + /* On POWER9, integer vector types are built up in GPRs and then + use a direct move (2 cycles). For POWER8 this is even worse, + as we need two direct moves and a merge, and the direct moves + are five cycles. */ + else if (INTEGRAL_TYPE_P (elem_type)) + { + if (TARGET_P9_VECTOR) + return TYPE_VECTOR_SUBPARTS (vectype) - 1 + 2; + else + return TYPE_VECTOR_SUBPARTS (vectype) - 1 + 5; + } else ! /* V2DFmode doesn't need a direct move. */ ! return 2; default: gcc_unreachable (); *************** rs6000_expand_vector_set (rtx target, rt *** 7531,7537 **** { if (TARGET_P9_VECTOR) x = gen_rtx_UNSPEC (mode, ! gen_rtvec (3, target, reg, force_reg (V16QImode, x)), UNSPEC_VPERMR); else --- 7596,7602 ---- { if (TARGET_P9_VECTOR) x = gen_rtx_UNSPEC (mode, ! gen_rtvec (3, reg, target, force_reg (V16QImode, x)), UNSPEC_VPERMR); else *************** debug_stack_info (rs6000_stack_t *info) *** 27718,27741 **** rtx rs6000_return_addr (int count, rtx frame) { ! /* Currently we don't optimize very well between prolog and body ! code and for PIC code the code can be actually quite bad, so ! don't try to be too clever here. */ if (count != 0 || ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) && flag_pic)) { cfun->machine->ra_needs_full_frame = 1; ! return ! gen_rtx_MEM ! (Pmode, ! memory_address ! (Pmode, ! plus_constant (Pmode, ! copy_to_reg ! (gen_rtx_MEM (Pmode, ! memory_address (Pmode, frame))), ! RETURN_ADDRESS_OFFSET))); } cfun->machine->ra_need_lr = 1; --- 27783,27805 ---- rtx rs6000_return_addr (int count, rtx frame) { ! /* We can't use get_hard_reg_initial_val for LR when count == 0 if LR ! is trashed by the prologue, as it is for PIC on ABI_V4 and Darwin. */ if (count != 0 || ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN) && flag_pic)) { cfun->machine->ra_needs_full_frame = 1; ! if (count == 0) ! /* FRAME is set to frame_pointer_rtx by the generic code, but that ! is good for loading 0(r1) only when !FRAME_GROWS_DOWNWARD. */ ! frame = stack_pointer_rtx; ! rtx prev_frame_addr = memory_address (Pmode, frame); ! rtx prev_frame = copy_to_reg (gen_rtx_MEM (Pmode, prev_frame_addr)); ! rtx lr_save_off = plus_constant (Pmode, ! prev_frame, RETURN_ADDRESS_OFFSET); ! rtx lr_save_addr = memory_address (Pmode, lr_save_off); ! return gen_rtx_MEM (Pmode, lr_save_addr); } cfun->machine->ra_need_lr = 1; *************** rs6000_adjust_cost (rtx_insn *insn, int *** 33080,33093 **** case TYPE_LOAD: case TYPE_CNTLZ: { ! if (! store_data_bypass_p (dep_insn, insn)) return get_attr_sign_extend (dep_insn) == SIGN_EXTEND_YES ? 6 : 4; break; } case TYPE_SHIFT: { ! if (! store_data_bypass_p (dep_insn, insn)) return get_attr_var_shift (dep_insn) == VAR_SHIFT_YES ? 6 : 3; break; --- 33144,33157 ---- case TYPE_LOAD: case TYPE_CNTLZ: { ! if (! rs6000_store_data_bypass_p (dep_insn, insn)) return get_attr_sign_extend (dep_insn) == SIGN_EXTEND_YES ? 6 : 4; break; } case TYPE_SHIFT: { ! if (! rs6000_store_data_bypass_p (dep_insn, insn)) return get_attr_var_shift (dep_insn) == VAR_SHIFT_YES ? 6 : 3; break; *************** rs6000_adjust_cost (rtx_insn *insn, int *** 33098,33104 **** case TYPE_EXTS: case TYPE_INSERT: { ! if (! store_data_bypass_p (dep_insn, insn)) return 3; break; } --- 33162,33168 ---- case TYPE_EXTS: case TYPE_INSERT: { ! if (! rs6000_store_data_bypass_p (dep_insn, insn)) return 3; break; } *************** rs6000_adjust_cost (rtx_insn *insn, int *** 33107,33125 **** case TYPE_FPSTORE: { if (get_attr_update (dep_insn) == UPDATE_YES ! && ! store_data_bypass_p (dep_insn, insn)) return 3; break; } case TYPE_MUL: { ! if (! store_data_bypass_p (dep_insn, insn)) return 17; break; } case TYPE_DIV: { ! if (! store_data_bypass_p (dep_insn, insn)) return get_attr_size (dep_insn) == SIZE_32 ? 45 : 57; break; } --- 33171,33189 ---- case TYPE_FPSTORE: { if (get_attr_update (dep_insn) == UPDATE_YES ! && ! rs6000_store_data_bypass_p (dep_insn, insn)) return 3; break; } case TYPE_MUL: { ! if (! rs6000_store_data_bypass_p (dep_insn, insn)) return 17; break; } case TYPE_DIV: { ! if (! rs6000_store_data_bypass_p (dep_insn, insn)) return get_attr_size (dep_insn) == SIZE_32 ? 45 : 57; break; } *************** rs6000_rtx_costs (rtx x, machine_mode mo *** 37296,37309 **** *total = COSTS_N_INSNS (1); return true; } if (outer_code == SET) { if (XEXP (x, 1) == const0_rtx) { ! if (TARGET_ISEL && !TARGET_MFCRF) ! *total = COSTS_N_INSNS (8); ! else ! *total = COSTS_N_INSNS (2); return true; } else --- 37360,37375 ---- *total = COSTS_N_INSNS (1); return true; } + /* FALLTHRU */ + + case GT: + case LT: + case UNORDERED: if (outer_code == SET) { if (XEXP (x, 1) == const0_rtx) { ! *total = COSTS_N_INSNS (2); return true; } else *************** rs6000_rtx_costs (rtx x, machine_mode mo *** 37312,37330 **** return false; } } - /* FALLTHRU */ - - case GT: - case LT: - case UNORDERED: - if (outer_code == SET && (XEXP (x, 1) == const0_rtx)) - { - if (TARGET_ISEL && !TARGET_MFCRF) - *total = COSTS_N_INSNS (8); - else - *total = COSTS_N_INSNS (2); - return true; - } /* CC COMPARE. */ if (outer_code == COMPARE) { --- 37378,37383 ---- *************** altivec_expand_vec_perm_le (rtx operands *** 37983,37989 **** if (TARGET_P9_VECTOR) { ! unspec = gen_rtx_UNSPEC (mode, gen_rtvec (3, op0, op1, sel), UNSPEC_VPERMR); } else --- 38036,38042 ---- if (TARGET_P9_VECTOR) { ! unspec = gen_rtx_UNSPEC (mode, gen_rtvec (3, op1, op0, sel), UNSPEC_VPERMR); } else *************** static struct rs6000_opt_var const rs600 *** 39170,39175 **** --- 39223,39231 ---- { "sched-epilog", offsetof (struct gcc_options, x_TARGET_SCHED_PROLOG), offsetof (struct cl_target_option, x_TARGET_SCHED_PROLOG), }, + { "speculate-indirect-jumps", + offsetof (struct gcc_options, x_rs6000_speculate_indirect_jumps), + offsetof (struct cl_target_option, x_rs6000_speculate_indirect_jumps), }, { "gen-cell-microcode", offsetof (struct gcc_options, x_rs6000_gen_cell_microcode), offsetof (struct cl_target_option, x_rs6000_gen_cell_microcode), }, *************** rs6000_valid_attribute_p (tree fndecl, *** 39389,39397 **** { struct cl_target_option cur_target; bool ret; ! tree old_optimize = build_optimization_node (&global_options); tree new_target, new_optimize; ! tree func_optimize = DECL_FUNCTION_SPECIFIC_OPTIMIZATION (fndecl); gcc_assert ((fndecl != NULL_TREE) && (args != NULL_TREE)); --- 39445,39453 ---- { struct cl_target_option cur_target; bool ret; ! tree old_optimize; tree new_target, new_optimize; ! tree func_optimize; gcc_assert ((fndecl != NULL_TREE) && (args != NULL_TREE)); *************** rs6000_pragma_target_parse (tree args, t *** 39518,39523 **** --- 39574,39580 ---- } target_option_current_node = cur_tree; + rs6000_activate_target_options (target_option_current_node); /* If we have the preprocessor linked in (i.e. C or C++ languages), possibly change the macros that are defined. */ *************** rs6000_pragma_target_parse (tree args, t *** 39555,39577 **** /* Remember the last target of rs6000_set_current_function. */ static GTY(()) tree rs6000_previous_fndecl; /* Establish appropriate back-end context for processing the function FNDECL. The argument might be NULL to indicate processing at top level, outside of any function scope. */ static void rs6000_set_current_function (tree fndecl) { - tree old_tree = (rs6000_previous_fndecl - ? DECL_FUNCTION_SPECIFIC_TARGET (rs6000_previous_fndecl) - : NULL_TREE); - - tree new_tree = (fndecl - ? DECL_FUNCTION_SPECIFIC_TARGET (fndecl) - : NULL_TREE); - if (TARGET_DEBUG_TARGET) { - bool print_final = false; fprintf (stderr, "\n==================== rs6000_set_current_function"); if (fndecl) --- 39612,39641 ---- /* Remember the last target of rs6000_set_current_function. */ static GTY(()) tree rs6000_previous_fndecl; + /* Restore target's globals from NEW_TREE and invalidate the + rs6000_previous_fndecl cache. */ + + void + rs6000_activate_target_options (tree new_tree) + { + cl_target_option_restore (&global_options, TREE_TARGET_OPTION (new_tree)); + if (TREE_TARGET_GLOBALS (new_tree)) + restore_target_globals (TREE_TARGET_GLOBALS (new_tree)); + else if (new_tree == target_option_default_node) + restore_target_globals (&default_target_globals); + else + TREE_TARGET_GLOBALS (new_tree) = save_target_globals_default_opts (); + rs6000_previous_fndecl = NULL_TREE; + } + /* Establish appropriate back-end context for processing the function FNDECL. The argument might be NULL to indicate processing at top level, outside of any function scope. */ static void rs6000_set_current_function (tree fndecl) { if (TARGET_DEBUG_TARGET) { fprintf (stderr, "\n==================== rs6000_set_current_function"); if (fndecl) *************** rs6000_set_current_function (tree fndecl *** 39584,39641 **** fprintf (stderr, ", prev_fndecl (%p)", (void *)rs6000_previous_fndecl); fprintf (stderr, "\n"); if (new_tree) { fprintf (stderr, "\nnew fndecl target specific options:\n"); debug_tree (new_tree); - print_final = true; } if (old_tree) { fprintf (stderr, "\nold fndecl target specific options:\n"); debug_tree (old_tree); - print_final = true; } ! if (print_final) fprintf (stderr, "--------------------\n"); } ! /* Only change the context if the function changes. This hook is called ! several times in the course of compiling a function, and we don't want to ! slow things down too much or call target_reinit when it isn't safe. */ ! if (fndecl && fndecl != rs6000_previous_fndecl) ! { ! rs6000_previous_fndecl = fndecl; ! if (old_tree == new_tree) ! ; ! ! else if (new_tree && new_tree != target_option_default_node) ! { ! cl_target_option_restore (&global_options, ! TREE_TARGET_OPTION (new_tree)); ! if (TREE_TARGET_GLOBALS (new_tree)) ! restore_target_globals (TREE_TARGET_GLOBALS (new_tree)); ! else ! TREE_TARGET_GLOBALS (new_tree) ! = save_target_globals_default_opts (); ! } ! else if (old_tree && old_tree != target_option_default_node) ! { ! new_tree = target_option_current_node; ! cl_target_option_restore (&global_options, ! TREE_TARGET_OPTION (new_tree)); ! if (TREE_TARGET_GLOBALS (new_tree)) ! restore_target_globals (TREE_TARGET_GLOBALS (new_tree)); ! else if (new_tree == target_option_default_node) ! restore_target_globals (&default_target_globals); ! else ! TREE_TARGET_GLOBALS (new_tree) ! = save_target_globals_default_opts (); ! } ! } } --- 39648,39707 ---- fprintf (stderr, ", prev_fndecl (%p)", (void *)rs6000_previous_fndecl); fprintf (stderr, "\n"); + } + + /* Only change the context if the function changes. This hook is called + several times in the course of compiling a function, and we don't want to + slow things down too much or call target_reinit when it isn't safe. */ + if (fndecl == rs6000_previous_fndecl) + return; + + tree old_tree; + if (rs6000_previous_fndecl == NULL_TREE) + old_tree = target_option_current_node; + else if (DECL_FUNCTION_SPECIFIC_TARGET (rs6000_previous_fndecl)) + old_tree = DECL_FUNCTION_SPECIFIC_TARGET (rs6000_previous_fndecl); + else + old_tree = target_option_default_node; + + tree new_tree; + if (fndecl == NULL_TREE) + { + if (old_tree != target_option_current_node) + new_tree = target_option_current_node; + else + new_tree = NULL_TREE; + } + else + { + new_tree = DECL_FUNCTION_SPECIFIC_TARGET (fndecl); + if (new_tree == NULL_TREE) + new_tree = target_option_default_node; + } + + if (TARGET_DEBUG_TARGET) + { if (new_tree) { fprintf (stderr, "\nnew fndecl target specific options:\n"); debug_tree (new_tree); } if (old_tree) { fprintf (stderr, "\nold fndecl target specific options:\n"); debug_tree (old_tree); } ! if (old_tree != NULL_TREE || new_tree != NULL_TREE) fprintf (stderr, "--------------------\n"); } ! if (new_tree && old_tree != new_tree) ! rs6000_activate_target_options (new_tree); ! if (fndecl) ! rs6000_previous_fndecl = fndecl; } *************** rs6000_address_for_fpconvert (rtx x) *** 39929,39935 **** gcc_assert (MEM_P (x)); addr = XEXP (x, 0); ! if (! legitimate_indirect_address_p (addr, strict_p) && ! legitimate_indexed_address_p (addr, strict_p)) { if (GET_CODE (addr) == PRE_INC || GET_CODE (addr) == PRE_DEC) --- 39995,40002 ---- gcc_assert (MEM_P (x)); addr = XEXP (x, 0); ! if (can_create_pseudo_p () ! && ! legitimate_indirect_address_p (addr, strict_p) && ! legitimate_indexed_address_p (addr, strict_p)) { if (GET_CODE (addr) == PRE_INC || GET_CODE (addr) == PRE_DEC) *************** alignment_mask (rtx_insn *insn) *** 42693,42701 **** } /* Given INSN that's a load or store based at BASE_REG, look for a ! feeding computation that aligns its address on a 16-byte boundary. */ static rtx ! find_alignment_op (rtx_insn *insn, rtx base_reg) { df_ref base_use; struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn); --- 42760,42769 ---- } /* Given INSN that's a load or store based at BASE_REG, look for a ! feeding computation that aligns its address on a 16-byte boundary. ! Return the rtx and its containing AND_INSN. */ static rtx ! find_alignment_op (rtx_insn *insn, rtx base_reg, rtx_insn **and_insn) { df_ref base_use; struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn); *************** find_alignment_op (rtx_insn *insn, rtx b *** 42716,42723 **** if (DF_REF_IS_ARTIFICIAL (base_def_link->ref)) break; ! rtx_insn *and_insn = DF_REF_INSN (base_def_link->ref); ! and_operation = alignment_mask (and_insn); if (and_operation != 0) break; } --- 42784,42791 ---- if (DF_REF_IS_ARTIFICIAL (base_def_link->ref)) break; ! *and_insn = DF_REF_INSN (base_def_link->ref); ! and_operation = alignment_mask (*and_insn); if (and_operation != 0) break; } *************** recombine_lvx_pattern (rtx_insn *insn, d *** 42739,42745 **** rtx mem = XEXP (SET_SRC (body), 0); rtx base_reg = XEXP (mem, 0); ! rtx and_operation = find_alignment_op (insn, base_reg); if (and_operation != 0) { --- 42807,42814 ---- rtx mem = XEXP (SET_SRC (body), 0); rtx base_reg = XEXP (mem, 0); ! rtx_insn *and_insn; ! rtx and_operation = find_alignment_op (insn, base_reg, &and_insn); if (and_operation != 0) { *************** recombine_lvx_pattern (rtx_insn *insn, d *** 42763,42769 **** to_delete[INSN_UID (swap_insn)].replace = true; to_delete[INSN_UID (swap_insn)].replace_insn = swap_insn; ! XEXP (mem, 0) = and_operation; SET_SRC (body) = mem; INSN_CODE (insn) = -1; /* Force re-recognition. */ df_insn_rescan (insn); --- 42832,42852 ---- to_delete[INSN_UID (swap_insn)].replace = true; to_delete[INSN_UID (swap_insn)].replace_insn = swap_insn; ! /* However, first we must be sure that we make the ! base register from the AND operation available ! in case the register has been overwritten. Copy ! the base register to a new pseudo and use that ! as the base register of the AND operation in ! the new LVX instruction. */ ! rtx and_base = XEXP (and_operation, 0); ! rtx new_reg = gen_reg_rtx (GET_MODE (and_base)); ! rtx copy = gen_rtx_SET (new_reg, and_base); ! rtx_insn *new_insn = emit_insn_after (copy, and_insn); ! set_block_for_insn (new_insn, BLOCK_FOR_INSN (and_insn)); ! df_insn_rescan (new_insn); ! ! XEXP (mem, 0) = gen_rtx_AND (GET_MODE (and_base), new_reg, ! XEXP (and_operation, 1)); SET_SRC (body) = mem; INSN_CODE (insn) = -1; /* Force re-recognition. */ df_insn_rescan (insn); *************** recombine_stvx_pattern (rtx_insn *insn, *** 42786,42792 **** rtx mem = SET_DEST (body); rtx base_reg = XEXP (mem, 0); ! rtx and_operation = find_alignment_op (insn, base_reg); if (and_operation != 0) { --- 42869,42876 ---- rtx mem = SET_DEST (body); rtx base_reg = XEXP (mem, 0); ! rtx_insn *and_insn; ! rtx and_operation = find_alignment_op (insn, base_reg, &and_insn); if (and_operation != 0) { *************** recombine_stvx_pattern (rtx_insn *insn, *** 42814,42820 **** to_delete[INSN_UID (swap_insn)].replace = true; to_delete[INSN_UID (swap_insn)].replace_insn = swap_insn; ! XEXP (mem, 0) = and_operation; SET_SRC (body) = src_reg; INSN_CODE (insn) = -1; /* Force re-recognition. */ df_insn_rescan (insn); --- 42898,42918 ---- to_delete[INSN_UID (swap_insn)].replace = true; to_delete[INSN_UID (swap_insn)].replace_insn = swap_insn; ! /* However, first we must be sure that we make the ! base register from the AND operation available ! in case the register has been overwritten. Copy ! the base register to a new pseudo and use that ! as the base register of the AND operation in ! the new STVX instruction. */ ! rtx and_base = XEXP (and_operation, 0); ! rtx new_reg = gen_reg_rtx (GET_MODE (and_base)); ! rtx copy = gen_rtx_SET (new_reg, and_base); ! rtx_insn *new_insn = emit_insn_after (copy, and_insn); ! set_block_for_insn (new_insn, BLOCK_FOR_INSN (and_insn)); ! df_insn_rescan (new_insn); ! ! XEXP (mem, 0) = gen_rtx_AND (GET_MODE (and_base), new_reg, ! XEXP (and_operation, 1)); SET_SRC (body) = src_reg; INSN_CODE (insn) = -1; /* Force re-recognition. */ df_insn_rescan (insn); diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/rs6000.md gcc-7.3.0/gcc/config/rs6000/rs6000.md *** gcc-7.2.0/gcc/config/rs6000/rs6000.md Fri Jul 7 20:47:15 2017 --- gcc-7.3.0/gcc/config/rs6000/rs6000.md Sun Jan 21 13:32:58 2018 *************** *** 10662,10688 **** (define_insn "load_toc_v4_PIC_2" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ! (mem:SI (plus:SI (match_operand:SI 1 "gpc_reg_operand" "b") ! (minus:SI (match_operand:SI 2 "immediate_operand" "s") ! (match_operand:SI 3 "immediate_operand" "s")))))] "TARGET_ELF && DEFAULT_ABI == ABI_V4 && flag_pic == 2" "lwz %0,%2-%3(%1)" [(set_attr "type" "load")]) (define_insn "load_toc_v4_PIC_3b" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ! (plus:SI (match_operand:SI 1 "gpc_reg_operand" "b") ! (high:SI ! (minus:SI (match_operand:SI 2 "symbol_ref_operand" "s") ! (match_operand:SI 3 "symbol_ref_operand" "s")))))] "TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI == ABI_V4 && flag_pic" "addis %0,%1,%2-%3@ha") (define_insn "load_toc_v4_PIC_3c" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ! (lo_sum:SI (match_operand:SI 1 "gpc_reg_operand" "b") ! (minus:SI (match_operand:SI 2 "symbol_ref_operand" "s") ! (match_operand:SI 3 "symbol_ref_operand" "s"))))] "TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI == ABI_V4 && flag_pic" "addi %0,%1,%2-%3@l") --- 10662,10694 ---- (define_insn "load_toc_v4_PIC_2" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ! (mem:SI (plus:SI ! (match_operand:SI 1 "gpc_reg_operand" "b") ! (const ! (minus:SI (match_operand:SI 2 "immediate_operand" "s") ! (match_operand:SI 3 "immediate_operand" "s"))))))] "TARGET_ELF && DEFAULT_ABI == ABI_V4 && flag_pic == 2" "lwz %0,%2-%3(%1)" [(set_attr "type" "load")]) (define_insn "load_toc_v4_PIC_3b" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ! (plus:SI ! (match_operand:SI 1 "gpc_reg_operand" "b") ! (high:SI ! (const ! (minus:SI (match_operand:SI 2 "symbol_ref_operand" "s") ! (match_operand:SI 3 "symbol_ref_operand" "s"))))))] "TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI == ABI_V4 && flag_pic" "addis %0,%1,%2-%3@ha") (define_insn "load_toc_v4_PIC_3c" [(set (match_operand:SI 0 "gpc_reg_operand" "=r") ! (lo_sum:SI ! (match_operand:SI 1 "gpc_reg_operand" "b") ! (const ! (minus:SI (match_operand:SI 2 "symbol_ref_operand" "s") ! (match_operand:SI 3 "symbol_ref_operand" "s")))))] "TARGET_ELF && TARGET_SECURE_PLT && DEFAULT_ABI == ABI_V4 && flag_pic" "addi %0,%1,%2-%3@l") *************** *** 10996,11005 **** else if (INTVAL (operands[2]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn ("creqv 6,6,6", operands); ! return "b%T0l"; } [(set_attr "type" "jmpreg,jmpreg,jmpreg,jmpreg") ! (set_attr "length" "4,4,8,8")]) (define_insn_and_split "*call_nonlocal_sysv" [(call (mem:SI (match_operand:P 0 "symbol_ref_operand" "s,s")) --- 11002,11036 ---- else if (INTVAL (operands[2]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn ("creqv 6,6,6", operands); ! if (rs6000_speculate_indirect_jumps ! || which_alternative == 1 || which_alternative == 3) ! return "b%T0l"; ! else ! return "crset 2\;beq%T0l-"; } [(set_attr "type" "jmpreg,jmpreg,jmpreg,jmpreg") ! (set (attr "length") ! (cond [(and (eq (symbol_ref "which_alternative") (const_int 0)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "4") ! (and (eq (symbol_ref "which_alternative") (const_int 0)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "8") ! (eq (symbol_ref "which_alternative") (const_int 1)) ! (const_string "4") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "8") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "12") ! (eq (symbol_ref "which_alternative") (const_int 3)) ! (const_string "8")] ! (const_string "4")))]) (define_insn_and_split "*call_nonlocal_sysv" [(call (mem:SI (match_operand:P 0 "symbol_ref_operand" "s,s")) *************** *** 11084,11093 **** else if (INTVAL (operands[3]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn ("creqv 6,6,6", operands); ! return "b%T1l"; } [(set_attr "type" "jmpreg,jmpreg,jmpreg,jmpreg") ! (set_attr "length" "4,4,8,8")]) (define_insn_and_split "*call_value_nonlocal_sysv" [(set (match_operand 0 "" "") --- 11115,11149 ---- else if (INTVAL (operands[3]) & CALL_V4_CLEAR_FP_ARGS) output_asm_insn ("creqv 6,6,6", operands); ! if (rs6000_speculate_indirect_jumps ! || which_alternative == 1 || which_alternative == 3) ! return "b%T1l"; ! else ! return "crset 2\;beq%T1l-"; } [(set_attr "type" "jmpreg,jmpreg,jmpreg,jmpreg") ! (set (attr "length") ! (cond [(and (eq (symbol_ref "which_alternative") (const_int 0)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "4") ! (and (eq (symbol_ref "which_alternative") (const_int 0)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "8") ! (eq (symbol_ref "which_alternative") (const_int 1)) ! (const_string "4") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "8") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "12") ! (eq (symbol_ref "which_alternative") (const_int 3)) ! (const_string "8")] ! (const_string "4")))]) (define_insn_and_split "*call_value_nonlocal_sysv" [(set (match_operand 0 "" "") *************** *** 11212,11222 **** (use (match_operand:P 2 "memory_operand" ",")) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_AIX" " 2,%2\;b%T0l\; 2,%3(1)" [(set_attr "type" "jmpreg") (set_attr "length" "12")]) (define_insn "*call_value_indirect_aix" [(set (match_operand 0 "" "") (call (mem:SI (match_operand:P 1 "register_operand" "c,*l")) --- 11268,11289 ---- (use (match_operand:P 2 "memory_operand" ",")) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_AIX && rs6000_speculate_indirect_jumps" " 2,%2\;b%T0l\; 2,%3(1)" [(set_attr "type" "jmpreg") (set_attr "length" "12")]) + (define_insn "*call_indirect_aix_nospec" + [(call (mem:SI (match_operand:P 0 "register_operand" "c,*l")) + (match_operand 1 "" "g,g")) + (use (match_operand:P 2 "memory_operand" ",")) + (set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) + (clobber (reg:P LR_REGNO))] + "DEFAULT_ABI == ABI_AIX && !rs6000_speculate_indirect_jumps" + "crset 2\; 2,%2\;beq%T0l-\; 2,%3(1)" + [(set_attr "type" "jmpreg") + (set_attr "length" "16")]) + (define_insn "*call_value_indirect_aix" [(set (match_operand 0 "" "") (call (mem:SI (match_operand:P 1 "register_operand" "c,*l")) *************** *** 11224,11234 **** (use (match_operand:P 3 "memory_operand" ",")) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 4 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_AIX" " 2,%3\;b%T1l\; 2,%4(1)" [(set_attr "type" "jmpreg") (set_attr "length" "12")]) ;; Call to indirect functions with the ELFv2 ABI. ;; Operand0 is the addresss of the function to call ;; Operand2 is the offset of the stack location holding the current TOC pointer --- 11291,11313 ---- (use (match_operand:P 3 "memory_operand" ",")) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 4 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_AIX && rs6000_speculate_indirect_jumps" " 2,%3\;b%T1l\; 2,%4(1)" [(set_attr "type" "jmpreg") (set_attr "length" "12")]) + (define_insn "*call_value_indirect_aix_nospec" + [(set (match_operand 0 "" "") + (call (mem:SI (match_operand:P 1 "register_operand" "c,*l")) + (match_operand 2 "" "g,g"))) + (use (match_operand:P 3 "memory_operand" ",")) + (set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 4 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) + (clobber (reg:P LR_REGNO))] + "DEFAULT_ABI == ABI_AIX && !rs6000_speculate_indirect_jumps" + "crset 2\; 2,%3\;beq%T1l-\; 2,%4(1)" + [(set_attr "type" "jmpreg") + (set_attr "length" "16")]) + ;; Call to indirect functions with the ELFv2 ABI. ;; Operand0 is the addresss of the function to call ;; Operand2 is the offset of the stack location holding the current TOC pointer *************** *** 11238,11259 **** (match_operand 1 "" "g,g")) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 2 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_ELFv2" "b%T0l\; 2,%2(1)" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) (define_insn "*call_value_indirect_elfv2" [(set (match_operand 0 "" "") (call (mem:SI (match_operand:P 1 "register_operand" "c,*l")) (match_operand 2 "" "g,g"))) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_ELFv2" "b%T1l\; 2,%3(1)" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) ;; Call subroutine returning any type. (define_expand "untyped_call" --- 11317,11360 ---- (match_operand 1 "" "g,g")) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 2 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_ELFv2 && rs6000_speculate_indirect_jumps" "b%T0l\; 2,%2(1)" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) + ;; Variant with deliberate misprediction. + (define_insn "*call_indirect_elfv2_nospec" + [(call (mem:SI (match_operand:P 0 "register_operand" "c,*l")) + (match_operand 1 "" "g,g")) + (set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 2 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) + (clobber (reg:P LR_REGNO))] + "DEFAULT_ABI == ABI_ELFv2 && !rs6000_speculate_indirect_jumps" + "crset 2\;beq%T0l-\; 2,%2(1)" + [(set_attr "type" "jmpreg") + (set_attr "length" "12")]) + (define_insn "*call_value_indirect_elfv2" [(set (match_operand 0 "" "") (call (mem:SI (match_operand:P 1 "register_operand" "c,*l")) (match_operand 2 "" "g,g"))) (set (reg:P TOC_REGNUM) (unspec [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) (clobber (reg:P LR_REGNO))] ! "DEFAULT_ABI == ABI_ELFv2 && rs6000_speculate_indirect_jumps" "b%T1l\; 2,%3(1)" [(set_attr "type" "jmpreg") (set_attr "length" "8")]) + ; Variant with deliberate misprediction. + (define_insn "*call_value_indirect_elfv2_nospec" + [(set (match_operand 0 "" "") + (call (mem:SI (match_operand:P 1 "register_operand" "c,*l")) + (match_operand 2 "" "g,g"))) + (set (reg:P TOC_REGNUM) (unspec:P [(match_operand:P 3 "const_int_operand" "n,n")] UNSPEC_TOCSLOT)) + (clobber (reg:P LR_REGNO))] + "DEFAULT_ABI == ABI_ELFv2 && !rs6000_speculate_indirect_jumps" + "crset 2\;beq%T1l-\; 2,%3(1)" + [(set_attr "type" "jmpreg") + (set_attr "length" "12")]) ;; Call subroutine returning any type. (define_expand "untyped_call" *************** *** 11430,11436 **** output_asm_insn (\"creqv 6,6,6\", operands); if (which_alternative >= 2) ! return \"b%T0\"; else if (DEFAULT_ABI == ABI_V4 && flag_pic) { gcc_assert (!TARGET_SECURE_PLT); --- 11531,11543 ---- output_asm_insn (\"creqv 6,6,6\", operands); if (which_alternative >= 2) ! { ! if (rs6000_speculate_indirect_jumps) ! return \"b%T0\"; ! else ! /* Can use CR0 since it is volatile across sibcalls. */ ! return \"crset 2\;beq%T0-\;b $\"; ! } else if (DEFAULT_ABI == ABI_V4 && flag_pic) { gcc_assert (!TARGET_SECURE_PLT); *************** *** 11440,11446 **** return \"b %z0\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,8,4,8")]) (define_insn "*sibcall_value_nonlocal_sysv" [(set (match_operand 0 "" "") --- 11547,11574 ---- return \"b %z0\"; }" [(set_attr "type" "branch") ! (set (attr "length") ! (cond [(eq (symbol_ref "which_alternative") (const_int 0)) ! (const_string "4") ! (eq (symbol_ref "which_alternative") (const_int 1)) ! (const_string "8") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "4") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "12") ! (and (eq (symbol_ref "which_alternative") (const_int 3)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "8") ! (and (eq (symbol_ref "which_alternative") (const_int 3)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "16")] ! (const_string "4")))]) (define_insn "*sibcall_value_nonlocal_sysv" [(set (match_operand 0 "" "") *************** *** 11460,11466 **** output_asm_insn (\"creqv 6,6,6\", operands); if (which_alternative >= 2) ! return \"b%T1\"; else if (DEFAULT_ABI == ABI_V4 && flag_pic) { gcc_assert (!TARGET_SECURE_PLT); --- 11588,11600 ---- output_asm_insn (\"creqv 6,6,6\", operands); if (which_alternative >= 2) ! { ! if (rs6000_speculate_indirect_jumps) ! return \"b%T1\"; ! else ! /* Can use CR0 since it is volatile across sibcalls. */ ! return \"crset 2\;beq%T1-\;b $\"; ! } else if (DEFAULT_ABI == ABI_V4 && flag_pic) { gcc_assert (!TARGET_SECURE_PLT); *************** *** 11470,11476 **** return \"b %z1\"; }" [(set_attr "type" "branch") ! (set_attr "length" "4,8,4,8")]) ;; AIX ABI sibling call patterns. --- 11604,11631 ---- return \"b %z1\"; }" [(set_attr "type" "branch") ! (set (attr "length") ! (cond [(eq (symbol_ref "which_alternative") (const_int 0)) ! (const_string "4") ! (eq (symbol_ref "which_alternative") (const_int 1)) ! (const_string "8") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "4") ! (and (eq (symbol_ref "which_alternative") (const_int 2)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "12") ! (and (eq (symbol_ref "which_alternative") (const_int 3)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 1))) ! (const_string "8") ! (and (eq (symbol_ref "which_alternative") (const_int 3)) ! (eq (symbol_ref "rs6000_speculate_indirect_jumps") ! (const_int 0))) ! (const_string "16")] ! (const_string "4")))]) ;; AIX ABI sibling call patterns. *************** *** 12846,12861 **** [(set_attr "type" "jmpreg")]) (define_expand "indirect_jump" ! [(set (pc) (match_operand 0 "register_operand" ""))]) (define_insn "*indirect_jump" [(set (pc) (match_operand:P 0 "register_operand" "c,*l"))] ! "" "@ bctr blr" [(set_attr "type" "jmpreg")]) ;; Table jump for switch statements: (define_expand "tablejump" [(use (match_operand 0 "" "")) --- 13001,13035 ---- [(set_attr "type" "jmpreg")]) (define_expand "indirect_jump" ! [(set (pc) (match_operand 0 "register_operand"))] ! "" ! { ! if (!rs6000_speculate_indirect_jumps) { ! rtx ccreg = gen_reg_rtx (CCmode); ! if (Pmode == DImode) ! emit_jump_insn (gen_indirect_jumpdi_nospec (operands[0], ccreg)); ! else ! emit_jump_insn (gen_indirect_jumpsi_nospec (operands[0], ccreg)); ! DONE; ! } ! }) (define_insn "*indirect_jump" [(set (pc) (match_operand:P 0 "register_operand" "c,*l"))] ! "rs6000_speculate_indirect_jumps" "@ bctr blr" [(set_attr "type" "jmpreg")]) + (define_insn "indirect_jump_nospec" + [(set (pc) (match_operand:P 0 "register_operand" "c,*l")) + (clobber (match_operand:CC 1 "cc_reg_operand" "=y,y"))] + "!rs6000_speculate_indirect_jumps" + "crset %E1\;beq%T0- %1\;b $" + [(set_attr "type" "jmpreg") + (set_attr "length" "12")]) + ;; Table jump for switch statements: (define_expand "tablejump" [(use (match_operand 0 "" "")) *************** *** 12863,12872 **** "" " { ! if (TARGET_32BIT) ! emit_jump_insn (gen_tablejumpsi (operands[0], operands[1])); else ! emit_jump_insn (gen_tablejumpdi (operands[0], operands[1])); DONE; }") --- 13037,13059 ---- "" " { ! if (rs6000_speculate_indirect_jumps) ! { ! if (TARGET_32BIT) ! emit_jump_insn (gen_tablejumpsi (operands[0], operands[1])); ! else ! emit_jump_insn (gen_tablejumpdi (operands[0], operands[1])); ! } else ! { ! rtx ccreg = gen_reg_rtx (CCmode); ! rtx jump; ! if (TARGET_32BIT) ! jump = gen_tablejumpsi_nospec (operands[0], operands[1], ccreg); ! else ! jump = gen_tablejumpdi_nospec (operands[0], operands[1], ccreg); ! emit_jump_insn (jump); ! } DONE; }") *************** *** 12876,12888 **** (match_dup 2))) (parallel [(set (pc) (match_dup 3)) (use (label_ref (match_operand 1 "" "")))])] ! "TARGET_32BIT" " { operands[0] = force_reg (SImode, operands[0]); operands[2] = force_reg (SImode, gen_rtx_LABEL_REF (SImode, operands[1])); operands[3] = gen_reg_rtx (SImode); }") (define_expand "tablejumpdi" [(set (match_dup 4) (sign_extend:DI (match_operand:SI 0 "lwa_operand" ""))) --- 13063,13090 ---- (match_dup 2))) (parallel [(set (pc) (match_dup 3)) (use (label_ref (match_operand 1 "" "")))])] ! "TARGET_32BIT && rs6000_speculate_indirect_jumps" " { operands[0] = force_reg (SImode, operands[0]); operands[2] = force_reg (SImode, gen_rtx_LABEL_REF (SImode, operands[1])); operands[3] = gen_reg_rtx (SImode); }") + (define_expand "tablejumpsi_nospec" + [(set (match_dup 4) + (plus:SI (match_operand:SI 0) + (match_dup 3))) + (parallel [(set (pc) + (match_dup 4)) + (use (label_ref (match_operand 1))) + (clobber (match_operand 2))])] + "TARGET_32BIT && !rs6000_speculate_indirect_jumps" + { + operands[0] = force_reg (SImode, operands[0]); + operands[3] = force_reg (SImode, gen_rtx_LABEL_REF (SImode, operands[1])); + operands[4] = gen_reg_rtx (SImode); + }) + (define_expand "tablejumpdi" [(set (match_dup 4) (sign_extend:DI (match_operand:SI 0 "lwa_operand" ""))) *************** *** 12891,12913 **** (match_dup 2))) (parallel [(set (pc) (match_dup 3)) (use (label_ref (match_operand 1 "" "")))])] ! "TARGET_64BIT" " { operands[2] = force_reg (DImode, gen_rtx_LABEL_REF (DImode, operands[1])); operands[3] = gen_reg_rtx (DImode); operands[4] = gen_reg_rtx (DImode); }") (define_insn "*tablejump_internal1" [(set (pc) (match_operand:P 0 "register_operand" "c,*l")) (use (label_ref (match_operand 1 "" "")))] ! "" "@ bctr blr" [(set_attr "type" "jmpreg")]) (define_insn "nop" [(unspec [(const_int 0)] UNSPEC_NOP)] "" --- 13093,13142 ---- (match_dup 2))) (parallel [(set (pc) (match_dup 3)) (use (label_ref (match_operand 1 "" "")))])] ! "TARGET_64BIT && rs6000_speculate_indirect_jumps" " { operands[2] = force_reg (DImode, gen_rtx_LABEL_REF (DImode, operands[1])); operands[3] = gen_reg_rtx (DImode); operands[4] = gen_reg_rtx (DImode); }") + (define_expand "tablejumpdi_nospec" + [(set (match_dup 5) + (sign_extend:DI (match_operand:SI 0 "lwa_operand"))) + (set (match_dup 4) + (plus:DI (match_dup 5) + (match_dup 3))) + (parallel [(set (pc) + (match_dup 4)) + (use (label_ref (match_operand 1))) + (clobber (match_operand 2))])] + "TARGET_64BIT && !rs6000_speculate_indirect_jumps" + { + operands[3] = force_reg (DImode, gen_rtx_LABEL_REF (DImode, operands[1])); + operands[4] = gen_reg_rtx (DImode); + operands[5] = gen_reg_rtx (DImode); + }) + (define_insn "*tablejump_internal1" [(set (pc) (match_operand:P 0 "register_operand" "c,*l")) (use (label_ref (match_operand 1 "" "")))] ! "rs6000_speculate_indirect_jumps" "@ bctr blr" [(set_attr "type" "jmpreg")]) + (define_insn "*tablejump_internal1_nospec" + [(set (pc) + (match_operand:P 0 "register_operand" "c,*l")) + (use (label_ref (match_operand 1))) + (clobber (match_operand:CC 2 "cc_reg_operand" "=y,y"))] + "!rs6000_speculate_indirect_jumps" + "crset %E2\;beq%T0- %2\;b $" + [(set_attr "type" "jmpreg") + (set_attr "length" "12")]) + (define_insn "nop" [(unspec [(const_int 0)] UNSPEC_NOP)] "" *************** *** 13304,13317 **** ; Some 32-bit ABIs do not have a red zone, so the stack deallocation has to ; stay behind all restores from the stack, it cannot be reordered to before ! ; one. See PR77687. This insn is an add or mr, and a stack_tie on the ! ; operands of that. (define_insn "stack_restore_tie" [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") (plus:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_cint_operand" "O,rI"))) ! (set (mem:BLK (match_dup 0)) (const_int 0)) ! (set (mem:BLK (match_dup 1)) (const_int 0))] "TARGET_32BIT" "@ mr %0,%1 --- 13533,13544 ---- ; Some 32-bit ABIs do not have a red zone, so the stack deallocation has to ; stay behind all restores from the stack, it cannot be reordered to before ! ; one. See PR77687. This insn is an add or mr, and a memory clobber. (define_insn "stack_restore_tie" [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") (plus:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_cint_operand" "O,rI"))) ! (set (mem:BLK (scratch)) (const_int 0))] "TARGET_32BIT" "@ mr %0,%1 *************** *** 14644,14649 **** --- 14871,14879 ---- { if (GET_CODE (operands[2]) == SCRATCH) operands[2] = gen_reg_rtx (DImode); + + if (MEM_P (operands[1])) + operands[1] = rs6000_address_for_fpconvert (operands[1]); }) (define_insn_and_split "float2" *************** *** 14707,14712 **** --- 14937,14945 ---- { if (GET_CODE (operands[2]) == SCRATCH) operands[2] = gen_reg_rtx (DImode); + + if (MEM_P (operands[1])) + operands[1] = rs6000_address_for_fpconvert (operands[1]); }) (define_insn_and_split "floatuns2" diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/rs6000.opt gcc-7.3.0/gcc/config/rs6000/rs6000.opt *** gcc-7.2.0/gcc/config/rs6000/rs6000.opt Wed Feb 8 09:59:55 2017 --- gcc-7.3.0/gcc/config/rs6000/rs6000.opt Thu Jan 18 01:34:10 2018 *************** Use the given offset for addressing the *** 700,702 **** --- 700,707 ---- TargetVariable long rs6000_stack_protector_guard_offset = 0 + + ;; -mno-speculate-indirect-jumps adds deliberate misprediction to indirect + ;; branches via the CTR. + mspeculate-indirect-jumps + Target Undocumented Var(rs6000_speculate_indirect_jumps) Init(1) Save diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/rtems.h gcc-7.3.0/gcc/config/rs6000/rtems.h *** gcc-7.2.0/gcc/config/rs6000/rtems.h Fri Jul 28 08:20:50 2017 --- gcc-7.3.0/gcc/config/rs6000/rtems.h Tue Aug 22 13:59:37 2017 *************** *** 37,42 **** --- 37,51 ---- #undef TARGET_AIX #define TARGET_AIX TARGET_64BIT + /* Simplified copy and paste from linux64.h and freebsd64.h */ + #undef DOT_SYMBOLS + #define DOT_SYMBOLS 0 + + /* Copy and paste from linux64.h and freebsd64.h */ + #undef TARGET_CMODEL + #define TARGET_CMODEL rs6000_current_cmodel + #define SET_CMODEL(opt) rs6000_current_cmodel = opt + #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ *************** *** 64,69 **** --- 73,87 ---- while (0) /* Copy and paste from linux64.h and freebsd64.h */ + #undef RELOCATABLE_NEEDS_FIXUP + #define RELOCATABLE_NEEDS_FIXUP \ + (rs6000_isa_flags & rs6000_isa_flags_explicit & OPTION_MASK_RELOCATABLE) + + /* Copy and paste from linux64.h */ + #undef RS6000_ABI_NAME + #define RS6000_ABI_NAME "linux" + + /* Copy and paste from linux64.h and freebsd64.h */ #define INVALID_64BIT "-m%s not supported in this configuration" /* A lot of copy and paste from linux64.h and freebsd64.h */ *************** *** 95,100 **** --- 113,136 ---- rs6000_isa_flags |= OPTION_MASK_POWERPC64; \ error ("-m64 requires a PowerPC64 cpu"); \ } \ + if ((rs6000_isa_flags_explicit \ + & OPTION_MASK_MINIMAL_TOC) != 0) \ + { \ + if (global_options_set.x_rs6000_current_cmodel \ + && rs6000_current_cmodel != CMODEL_SMALL) \ + error ("-mcmodel incompatible with other toc options"); \ + SET_CMODEL (CMODEL_SMALL); \ + } \ + else \ + { \ + if (!global_options_set.x_rs6000_current_cmodel) \ + SET_CMODEL (CMODEL_MEDIUM); \ + if (rs6000_current_cmodel != CMODEL_SMALL) \ + { \ + TARGET_NO_FP_IN_TOC = 0; \ + TARGET_NO_SUM_IN_TOC = 0; \ + } \ + } \ } \ } \ while (0) *************** *** 141,146 **** --- 177,206 ---- #define RESTORE_FP_SUFFIX "" /* Copy and paste from linux64.h and freebsd64.h */ + #undef ASM_PREFERRED_EH_DATA_FORMAT + #define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ + (TARGET_64BIT || flag_pic \ + ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel \ + | (TARGET_64BIT ? DW_EH_PE_udata8 : DW_EH_PE_sdata4)) \ + : DW_EH_PE_absptr) + + /* Copy and paste from linux64.h and freebsd64.h */ + #undef TOC_SECTION_ASM_OP + #define TOC_SECTION_ASM_OP \ + (TARGET_64BIT \ + ? "\t.section\t\".toc\",\"aw\"" \ + : "\t.section\t\".got\",\"aw\"") + + /* Copy and paste from linux64.h and freebsd64.h */ + #undef MINIMAL_TOC_SECTION_ASM_OP + #define MINIMAL_TOC_SECTION_ASM_OP \ + (TARGET_64BIT \ + ? "\t.section\t\".toc1\",\"aw\"" \ + : (flag_pic \ + ? "\t.section\t\".got2\",\"aw\"" \ + : "\t.section\t\".got1\",\"aw\"")) + + /* Copy and paste from linux64.h and freebsd64.h */ #undef ASM_DECLARE_FUNCTION_SIZE #define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \ do \ diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/sysv4.h gcc-7.3.0/gcc/config/rs6000/sysv4.h *** gcc-7.2.0/gcc/config/rs6000/sysv4.h Tue Feb 7 11:29:06 2017 --- gcc-7.3.0/gcc/config/rs6000/sysv4.h Tue Aug 29 08:23:44 2017 *************** ENDIAN_SELECT(" -mbig", " -mlittle", DEF *** 757,780 **** #define CRTOFFLOADEND "" #endif ! #ifdef HAVE_LD_PIE ! #define STARTFILE_LINUX_SPEC "\ ! %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ! %{mnewlib:ecrti.o%s;:crti.o%s} \ ! %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} \ ! " CRTOFFLOADBEGIN ! #else ! #define STARTFILE_LINUX_SPEC "\ ! %{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \ ! %{mnewlib:ecrti.o%s;:crti.o%s} \ ! %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s} \ ! " CRTOFFLOADBEGIN ! #endif ! #define ENDFILE_LINUX_SPEC "\ ! %{shared|pie:crtendS.o%s;:crtend.o%s} \ ! %{mnewlib:ecrtn.o%s;:crtn.o%s} \ ! " CRTOFFLOADEND #define LINK_START_LINUX_SPEC "" --- 757,790 ---- #define CRTOFFLOADEND "" #endif ! /* STARTFILE_LINUX_SPEC should be the same as GNU_USER_TARGET_STARTFILE_SPEC ! but with the mnewlib ecrti.o%s selection substituted for crti.o%s. */ ! #define STARTFILE_LINUX_SPEC \ ! "%{shared:; \ ! pg|p|profile:gcrt1.o%s; \ ! static:crt1.o%s; \ ! " PIE_SPEC ":Scrt1.o%s; \ ! :crt1.o%s} \ ! %{mnewlib:ecrti.o%s;:crti.o%s} \ ! %{static:crtbeginT.o%s; \ ! shared|" PIE_SPEC ":crtbeginS.o%s; \ ! :crtbegin.o%s} \ ! %{fvtable-verify=none:%s; \ ! fvtable-verify=preinit:vtv_start_preinit.o%s; \ ! fvtable-verify=std:vtv_start.o%s} \ ! " CRTOFFLOADBEGIN ! /* ENDFILE_LINUX_SPEC should be the same as GNU_USER_TARGET_ENDFILE_SPEC ! but with the mnewlib ecrtn.o%s selection substituted for crtn.o%s. */ ! #define ENDFILE_LINUX_SPEC \ ! "%{fvtable-verify=none:%s; \ ! fvtable-verify=preinit:vtv_end_preinit.o%s; \ ! fvtable-verify=std:vtv_end.o%s} \ ! %{static:crtend.o%s; \ ! shared|" PIE_SPEC ":crtendS.o%s; \ ! :crtend.o%s} \ ! %{mnewlib:ecrtn.o%s;:crtn.o%s} \ ! " CRTOFFLOADEND #define LINK_START_LINUX_SPEC "" diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/t-rtems gcc-7.3.0/gcc/config/rs6000/t-rtems *** gcc-7.2.0/gcc/config/rs6000/t-rtems Fri Jul 28 08:20:50 2017 --- gcc-7.3.0/gcc/config/rs6000/t-rtems Tue Dec 19 08:20:05 2017 *************** MULTILIB_REQUIRED += mcpu=860 *** 78,81 **** MULTILIB_REQUIRED += mcpu=e6500/m32 MULTILIB_REQUIRED += mcpu=e6500/m32/msoft-float/mno-altivec MULTILIB_REQUIRED += mcpu=e6500/m64 - MULTILIB_REQUIRED += mcpu=e6500/m64/msoft-float/mno-altivec --- 78,80 ---- diff -Nrcpad gcc-7.2.0/gcc/config/rs6000/vsx.md gcc-7.3.0/gcc/config/rs6000/vsx.md *** gcc-7.2.0/gcc/config/rs6000/vsx.md Thu Jun 29 22:19:29 2017 --- gcc-7.3.0/gcc/config/rs6000/vsx.md Wed Aug 30 01:12:21 2017 *************** *** 736,752 **** ;; special V1TI container class, which it is not appropriate to use vec_select ;; for the type. (define_insn "*vsx_le_permute_" ! [(set (match_operand:VSX_LE_128 0 "nonimmediate_operand" "=,,Z") (rotate:VSX_LE_128 ! (match_operand:VSX_LE_128 1 "input_operand" ",Z,") (const_int 64)))] "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" "@ xxpermdi %x0,%x1,%x1,2 lxvd2x %x0,%y1 ! stxvd2x %x1,%y0" ! [(set_attr "length" "4") ! (set_attr "type" "vecperm,vecload,vecstore")]) (define_insn_and_split "*vsx_le_undo_permute_" [(set (match_operand:VSX_LE_128 0 "vsx_register_operand" "=,") --- 736,755 ---- ;; special V1TI container class, which it is not appropriate to use vec_select ;; for the type. (define_insn "*vsx_le_permute_" ! [(set (match_operand:VSX_LE_128 0 "nonimmediate_operand" "=,,Z,&r,&r,Q") (rotate:VSX_LE_128 ! (match_operand:VSX_LE_128 1 "input_operand" ",Z,,r,Q,r") (const_int 64)))] "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" "@ xxpermdi %x0,%x1,%x1,2 lxvd2x %x0,%y1 ! stxvd2x %x1,%y0 ! mr %0,%L1\;mr %L0,%1 ! ld%U1%X1 %0,%L1\;ld%U1%X1 %L0,%1 ! std%U0%X0 %L1,%0\;std%U0%X0 %1,%L0" ! [(set_attr "length" "4,4,4,8,8,8") ! (set_attr "type" "vecperm,vecload,vecstore,*,load,store")]) (define_insn_and_split "*vsx_le_undo_permute_" [(set (match_operand:VSX_LE_128 0 "vsx_register_operand" "=,") *************** *** 772,781 **** (set_attr "type" "veclogical")]) (define_insn_and_split "*vsx_le_perm_load_" ! [(set (match_operand:VSX_LE_128 0 "vsx_register_operand" "=") ! (match_operand:VSX_LE_128 1 "memory_operand" "Z"))] "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" ! "#" "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" [(set (match_dup 2) (rotate:VSX_LE_128 (match_dup 1) --- 775,786 ---- (set_attr "type" "veclogical")]) (define_insn_and_split "*vsx_le_perm_load_" ! [(set (match_operand:VSX_LE_128 0 "vsx_register_operand" "=,r") ! (match_operand:VSX_LE_128 1 "memory_operand" "Z,Q"))] "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" ! "@ ! # ! #" "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" [(set (match_dup 2) (rotate:VSX_LE_128 (match_dup 1) *************** *** 789,804 **** : operands[0]; } " ! [(set_attr "type" "vecload") ! (set_attr "length" "8")]) (define_insn "*vsx_le_perm_store_" ! [(set (match_operand:VSX_LE_128 0 "memory_operand" "=Z") ! (match_operand:VSX_LE_128 1 "vsx_register_operand" "+"))] "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" ! "#" ! [(set_attr "type" "vecstore") ! (set_attr "length" "12")]) (define_split [(set (match_operand:VSX_LE_128 0 "memory_operand" "") --- 794,811 ---- : operands[0]; } " ! [(set_attr "type" "vecload,load") ! (set_attr "length" "8,8")]) (define_insn "*vsx_le_perm_store_" ! [(set (match_operand:VSX_LE_128 0 "memory_operand" "=Z,Q") ! (match_operand:VSX_LE_128 1 "vsx_register_operand" "+,r"))] "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR" ! "@ ! # ! #" ! [(set_attr "type" "vecstore,store") ! (set_attr "length" "12,8")]) (define_split [(set (match_operand:VSX_LE_128 0 "memory_operand" "") *************** *** 815,820 **** --- 822,852 ---- : operands[0]; }) + ;; Peepholes to catch loads and stores for TImode if TImode landed in + ;; GPR registers on a little endian system. + (define_peephole2 + [(set (match_operand:VSX_LE_128 0 "int_reg_operand") + (rotate:VSX_LE_128 (match_operand:VSX_LE_128 1 "memory_operand") + (const_int 64))) + (set (match_operand:VSX_LE_128 2 "int_reg_operand") + (rotate:VSX_LE_128 (match_dup 0) + (const_int 64)))] + "!BYTES_BIG_ENDIAN && TARGET_VSX && TARGET_VSX_TIMODE && !TARGET_P9_VECTOR + && (rtx_equal_p (operands[0], operands[2]) + || peep2_reg_dead_p (2, operands[0]))" + [(set (match_dup 2) (match_dup 1))]) + + (define_peephole2 + [(set (match_operand:VSX_LE_128 0 "int_reg_operand") + (rotate:VSX_LE_128 (match_operand:VSX_LE_128 1 "int_reg_operand") + (const_int 64))) + (set (match_operand:VSX_LE_128 2 "memory_operand") + (rotate:VSX_LE_128 (match_dup 0) + (const_int 64)))] + "!BYTES_BIG_ENDIAN && TARGET_VSX && TARGET_VSX_TIMODE && !TARGET_P9_VECTOR + && peep2_reg_dead_p (2, operands[0])" + [(set (match_dup 2) (match_dup 1))]) + ;; Peephole to catch memory to memory transfers for TImode if TImode landed in ;; VSX registers on a little endian system. The vector types and IEEE 128-bit ;; floating point are handled by the more generic swap elimination pass. *************** *** 2017,2022 **** --- 2049,2128 ---- } [(set_attr "type" "vecperm")]) + ;; Combiner patterns to allow creating XXPERMDI's to access either double + ;; word element in a vector register. + (define_insn "*vsx_concat__1" + [(set (match_operand:VSX_D 0 "vsx_register_operand" "=") + (vec_concat:VSX_D + (vec_select: + (match_operand:VSX_D 1 "gpc_reg_operand" "") + (parallel [(match_operand:QI 2 "const_0_to_1_operand" "n")])) + (match_operand: 3 "gpc_reg_operand" "")))] + "VECTOR_MEM_VSX_P (mode)" + { + HOST_WIDE_INT dword = INTVAL (operands[2]); + if (BYTES_BIG_ENDIAN) + { + operands[4] = GEN_INT (2*dword); + return "xxpermdi %x0,%x1,%x3,%4"; + } + else + { + operands[4] = GEN_INT (!dword); + return "xxpermdi %x0,%x3,%x1,%4"; + } + } + [(set_attr "type" "vecperm")]) + + (define_insn "*vsx_concat__2" + [(set (match_operand:VSX_D 0 "vsx_register_operand" "=") + (vec_concat:VSX_D + (match_operand: 1 "gpc_reg_operand" "") + (vec_select: + (match_operand:VSX_D 2 "gpc_reg_operand" "") + (parallel [(match_operand:QI 3 "const_0_to_1_operand" "n")]))))] + "VECTOR_MEM_VSX_P (mode)" + { + HOST_WIDE_INT dword = INTVAL (operands[3]); + if (BYTES_BIG_ENDIAN) + { + operands[4] = GEN_INT (dword); + return "xxpermdi %x0,%x1,%x2,%4"; + } + else + { + operands[4] = GEN_INT (2 * !dword); + return "xxpermdi %x0,%x2,%x1,%4"; + } + } + [(set_attr "type" "vecperm")]) + + (define_insn "*vsx_concat__3" + [(set (match_operand:VSX_D 0 "vsx_register_operand" "=") + (vec_concat:VSX_D + (vec_select: + (match_operand:VSX_D 1 "gpc_reg_operand" "") + (parallel [(match_operand:QI 2 "const_0_to_1_operand" "n")])) + (vec_select: + (match_operand:VSX_D 3 "gpc_reg_operand" "") + (parallel [(match_operand:QI 4 "const_0_to_1_operand" "n")]))))] + "VECTOR_MEM_VSX_P (mode)" + { + HOST_WIDE_INT dword1 = INTVAL (operands[2]); + HOST_WIDE_INT dword2 = INTVAL (operands[4]); + if (BYTES_BIG_ENDIAN) + { + operands[5] = GEN_INT ((2 * dword1) + dword2); + return "xxpermdi %x0,%x1,%x3,%5"; + } + else + { + operands[5] = GEN_INT ((2 * !dword2) + !dword1); + return "xxpermdi %x0,%x3,%x1,%5"; + } + } + [(set_attr "type" "vecperm")]) + ;; Special purpose concat using xxpermdi to glue two single precision values ;; together, relying on the fact that internally scalar floats are represented ;; as doubles. This is used to initialize a V4SF vector with 4 floats *************** *** 2217,2241 **** DONE; }) ! ;; Set the element of a V2DI/VD2F mode ! (define_insn "vsx_set_" ! [(set (match_operand:VSX_D 0 "vsx_register_operand" "=wd,?") ! (unspec:VSX_D ! [(match_operand:VSX_D 1 "vsx_register_operand" "wd,") ! (match_operand: 2 "vsx_register_operand" ",") ! (match_operand:QI 3 "u5bit_cint_operand" "i,i")] ! UNSPEC_VSX_SET))] "VECTOR_MEM_VSX_P (mode)" { ! int idx_first = BYTES_BIG_ENDIAN ? 0 : 1; ! if (INTVAL (operands[3]) == idx_first) ! return \"xxpermdi %x0,%x2,%x1,1\"; ! else if (INTVAL (operands[3]) == 1 - idx_first) ! return \"xxpermdi %x0,%x1,%x2,0\"; else gcc_unreachable (); ! } ! [(set_attr "type" "vecperm")]) ;; Extract a DF/DI element from V2DF/V2DI ;; Optimize cases were we can do a simple or direct move. --- 2323,2357 ---- DONE; }) ! ;; Rewrite V2DF/V2DI set in terms of VEC_CONCAT ! (define_expand "vsx_set_" ! [(use (match_operand:VSX_D 0 "vsx_register_operand")) ! (use (match_operand:VSX_D 1 "vsx_register_operand")) ! (use (match_operand: 2 "gpc_reg_operand")) ! (use (match_operand:QI 3 "const_0_to_1_operand"))] "VECTOR_MEM_VSX_P (mode)" { ! rtx dest = operands[0]; ! rtx vec_reg = operands[1]; ! rtx value = operands[2]; ! rtx ele = operands[3]; ! rtx tmp = gen_reg_rtx (mode); ! ! if (ele == const0_rtx) ! { ! emit_insn (gen_vsx_extract_ (tmp, vec_reg, const1_rtx)); ! emit_insn (gen_vsx_concat_ (dest, value, tmp)); ! DONE; ! } ! else if (ele == const1_rtx) ! { ! emit_insn (gen_vsx_extract_ (tmp, vec_reg, const0_rtx)); ! emit_insn (gen_vsx_concat_ (dest, tmp, value)); ! DONE; ! } else gcc_unreachable (); ! }) ;; Extract a DF/DI element from V2DF/V2DI ;; Optimize cases were we can do a simple or direct move. diff -Nrcpad gcc-7.2.0/gcc/config/rx/rx.c gcc-7.3.0/gcc/config/rx/rx.c *** gcc-7.2.0/gcc/config/rx/rx.c Mon Apr 3 22:30:56 2017 --- gcc-7.3.0/gcc/config/rx/rx.c Fri Jan 12 12:12:38 2018 *************** rx_is_restricted_memory_address (rtx mem *** 284,289 **** --- 284,292 ---- /* Simple memory addresses are OK. */ return true; + case SUBREG: + return RX_REG_P (SUBREG_REG (mem)); + case PRE_DEC: case POST_INC: return false; diff -Nrcpad gcc-7.2.0/gcc/config/rx/rx.md gcc-7.3.0/gcc/config/rx/rx.md *** gcc-7.2.0/gcc/config/rx/rx.md Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/rx/rx.md Thu Jan 11 15:18:38 2018 *************** *** 2167,2172 **** --- 2167,2173 ---- [(plus "add") (minus "sub") (ior "ior") (xor "xor") (and "and")]) (define_mode_iterator QIHI [QI HI]) + (define_mode_attr BW [(QI "B") (HI "W")]) (define_insn "sync_lock_test_and_setsi" [(set (match_operand:SI 0 "register_operand" "=r,r") *************** *** 2208,2214 **** (set (match_dup 1) (match_operand:QIHI 2 "register_operand" "0"))] "" ! "xchg\t%1, %0" [(set_attr "length" "6") (set_attr "timings" "22")] ) --- 2209,2215 ---- (set (match_dup 1) (match_operand:QIHI 2 "register_operand" "0"))] "" ! "xchg\t%1., %0" [(set_attr "length" "6") (set_attr "timings" "22")] ) diff -Nrcpad gcc-7.2.0/gcc/config/sh/sh-mem.cc gcc-7.3.0/gcc/config/sh/sh-mem.cc *** gcc-7.2.0/gcc/config/sh/sh-mem.cc Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/sh/sh-mem.cc Tue Aug 15 23:43:11 2017 *************** sh_expand_cmpnstr (rtx *operands) *** 349,360 **** rtx len = copy_to_mode_reg (SImode, operands[3]); int constp = CONST_INT_P (operands[3]); const unsigned int addr1_alignment = MEM_ALIGN (operands[1]) / BITS_PER_UNIT; const unsigned int addr2_alignment = MEM_ALIGN (operands[2]) / BITS_PER_UNIT; /* Loop on a register count. */ ! if (constp) { rtx tmp0 = gen_reg_rtx (SImode); rtx tmp3 = gen_reg_rtx (SImode); --- 349,361 ---- rtx len = copy_to_mode_reg (SImode, operands[3]); int constp = CONST_INT_P (operands[3]); + HOST_WIDE_INT bytes = constp ? INTVAL (operands[3]) : 0; const unsigned int addr1_alignment = MEM_ALIGN (operands[1]) / BITS_PER_UNIT; const unsigned int addr2_alignment = MEM_ALIGN (operands[2]) / BITS_PER_UNIT; /* Loop on a register count. */ ! if (constp && bytes >= 0 && bytes < 32) { rtx tmp0 = gen_reg_rtx (SImode); rtx tmp3 = gen_reg_rtx (SImode); *************** sh_expand_cmpnstr (rtx *operands) *** 363,369 **** rtx_code_label *L_loop_long = gen_label_rtx (); rtx_code_label *L_end_loop_long = gen_label_rtx (); - int bytes = INTVAL (operands[3]); int witers = bytes / 4; if (witers > 1) --- 364,369 ---- diff -Nrcpad gcc-7.2.0/gcc/config/sh/sh.md gcc-7.3.0/gcc/config/sh/sh.md *** gcc-7.2.0/gcc/config/sh/sh.md Fri Feb 24 22:42:49 2017 --- gcc-7.3.0/gcc/config/sh/sh.md Thu Nov 23 14:08:12 2017 *************** *** 2277,2284 **** "" { rtx last; - operands[3] = gen_reg_rtx (Pmode); /* Emit the move of the address to a pseudo outside of the libcall. */ if (TARGET_DIVIDE_CALL_TABLE) { --- 2277,2284 ---- "" { rtx last; + rtx func_ptr = gen_reg_rtx (Pmode); /* Emit the move of the address to a pseudo outside of the libcall. */ if (TARGET_DIVIDE_CALL_TABLE) { *************** *** 2298,2313 **** emit_move_insn (operands[0], operands[2]); DONE; } ! function_symbol (operands[3], "__udivsi3_i4i", SFUNC_GOT); ! last = gen_udivsi3_i4_int (operands[0], operands[3]); } else if (TARGET_DIVIDE_CALL_FP) { ! rtx lab = function_symbol (operands[3], "__udivsi3_i4", SFUNC_STATIC).lab; if (TARGET_FPU_SINGLE) ! last = gen_udivsi3_i4_single (operands[0], operands[3], lab); else ! last = gen_udivsi3_i4 (operands[0], operands[3], lab); } else if (TARGET_SH2A) { --- 2298,2313 ---- emit_move_insn (operands[0], operands[2]); DONE; } ! function_symbol (func_ptr, "__udivsi3_i4i", SFUNC_GOT); ! last = gen_udivsi3_i4_int (operands[0], func_ptr); } else if (TARGET_DIVIDE_CALL_FP) { ! rtx lab = function_symbol (func_ptr, "__udivsi3_i4", SFUNC_STATIC).lab; if (TARGET_FPU_SINGLE) ! last = gen_udivsi3_i4_single (operands[0], func_ptr, lab); else ! last = gen_udivsi3_i4 (operands[0], func_ptr, lab); } else if (TARGET_SH2A) { *************** *** 2318,2325 **** } else { ! rtx lab = function_symbol (operands[3], "__udivsi3", SFUNC_STATIC).lab; ! last = gen_udivsi3_i1 (operands[0], operands[3], lab); } emit_move_insn (gen_rtx_REG (SImode, 4), operands[1]); emit_move_insn (gen_rtx_REG (SImode, 5), operands[2]); --- 2318,2325 ---- } else { ! rtx lab = function_symbol (func_ptr, "__udivsi3", SFUNC_STATIC).lab; ! last = gen_udivsi3_i1 (operands[0], func_ptr, lab); } emit_move_insn (gen_rtx_REG (SImode, 4), operands[1]); emit_move_insn (gen_rtx_REG (SImode, 5), operands[2]); *************** *** 2405,2426 **** "" { rtx last; - operands[3] = gen_reg_rtx (Pmode); /* Emit the move of the address to a pseudo outside of the libcall. */ if (TARGET_DIVIDE_CALL_TABLE) { ! function_symbol (operands[3], sh_divsi3_libfunc, SFUNC_GOT); ! last = gen_divsi3_i4_int (operands[0], operands[3]); } else if (TARGET_DIVIDE_CALL_FP) { ! rtx lab = function_symbol (operands[3], sh_divsi3_libfunc, SFUNC_STATIC).lab; if (TARGET_FPU_SINGLE) ! last = gen_divsi3_i4_single (operands[0], operands[3], lab); else ! last = gen_divsi3_i4 (operands[0], operands[3], lab); } else if (TARGET_SH2A) { --- 2405,2426 ---- "" { rtx last; + rtx func_ptr = gen_reg_rtx (Pmode); /* Emit the move of the address to a pseudo outside of the libcall. */ if (TARGET_DIVIDE_CALL_TABLE) { ! function_symbol (func_ptr, sh_divsi3_libfunc, SFUNC_GOT); ! last = gen_divsi3_i4_int (operands[0], func_ptr); } else if (TARGET_DIVIDE_CALL_FP) { ! rtx lab = function_symbol (func_ptr, sh_divsi3_libfunc, SFUNC_STATIC).lab; if (TARGET_FPU_SINGLE) ! last = gen_divsi3_i4_single (operands[0], func_ptr, lab); else ! last = gen_divsi3_i4 (operands[0], func_ptr, lab); } else if (TARGET_SH2A) { *************** *** 2431,2438 **** } else { ! function_symbol (operands[3], sh_divsi3_libfunc, SFUNC_GOT); ! last = gen_divsi3_i1 (operands[0], operands[3]); } emit_move_insn (gen_rtx_REG (SImode, 4), operands[1]); emit_move_insn (gen_rtx_REG (SImode, 5), operands[2]); --- 2431,2438 ---- } else { ! function_symbol (func_ptr, sh_divsi3_libfunc, SFUNC_GOT); ! last = gen_divsi3_i1 (operands[0], func_ptr); } emit_move_insn (gen_rtx_REG (SImode, 4), operands[1]); emit_move_insn (gen_rtx_REG (SImode, 5), operands[2]); *************** *** 6519,6524 **** --- 6519,6525 ---- [(call (mem (match_operand:SI 0 "symbol_ref_operand" "")) (match_operand 1 "" "")) (use (reg:SI FPSCR_MODES_REG)) + (use (match_scratch 2)) (clobber (reg:SI PR_REG))] "TARGET_SH2A && sh2a_is_function_vector_call (operands[0])" { *************** *** 6629,6634 **** --- 6630,6636 ---- (call (mem:SI (match_operand:SI 1 "symbol_ref_operand" "")) (match_operand 2 "" ""))) (use (reg:SI FPSCR_MODES_REG)) + (use (match_scratch 3)) (clobber (reg:SI PR_REG))] "TARGET_SH2A && sh2a_is_function_vector_call (operands[1])" { *************** *** 7044,7056 **** [(const_int 0)] { rtx lab = PATTERN (gen_call_site ()); ! rtx call_insn; ! ! operands[3] = gen_rtx_REG (SImode, R1_REG); ! sh_expand_sym_label2reg (operands[3], operands[1], lab, true); ! call_insn = emit_call_insn (gen_sibcall_valuei_pcrel (operands[0], ! operands[3], operands[2], copy_rtx (lab))); SIBLING_CALL_P (call_insn) = 1; --- 7046,7056 ---- [(const_int 0)] { rtx lab = PATTERN (gen_call_site ()); ! rtx tmp = gen_rtx_REG (SImode, R1_REG); ! sh_expand_sym_label2reg (tmp, operands[1], lab, true); ! rtx call_insn = emit_call_insn (gen_sibcall_valuei_pcrel (operands[0], ! tmp, operands[2], copy_rtx (lab))); SIBLING_CALL_P (call_insn) = 1; *************** *** 7078,7089 **** [(const_int 0)] { rtx lab = PATTERN (gen_call_site ()); ! operands[3] = gen_rtx_REG (SImode, R1_REG); ! ! sh_expand_sym_label2reg (operands[3], operands[1], lab, true); rtx i = emit_call_insn (gen_sibcall_valuei_pcrel_fdpic (operands[0], ! operands[3], operands[2], copy_rtx (lab))); SIBLING_CALL_P (i) = 1; --- 7078,7088 ---- [(const_int 0)] { rtx lab = PATTERN (gen_call_site ()); + rtx tmp = gen_rtx_REG (SImode, R1_REG); ! sh_expand_sym_label2reg (tmp, operands[1], lab, true); rtx i = emit_call_insn (gen_sibcall_valuei_pcrel_fdpic (operands[0], ! tmp, operands[2], copy_rtx (lab))); SIBLING_CALL_P (i) = 1; diff -Nrcpad gcc-7.2.0/gcc/config/sh/sh_optimize_sett_clrt.cc gcc-7.3.0/gcc/config/sh/sh_optimize_sett_clrt.cc *** gcc-7.2.0/gcc/config/sh/sh_optimize_sett_clrt.cc Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/sh/sh_optimize_sett_clrt.cc Sun Jan 21 05:13:20 2018 *************** along with GCC; see the file COPYING3. *** 18,23 **** --- 18,25 ---- . */ #include "config.h" + #define INCLUDE_ALGORITHM + #define INCLUDE_VECTOR #include "system.h" #include "coretypes.h" #include "backend.h" *************** along with GCC; see the file COPYING3. *** 27,35 **** #include "cfgrtl.h" #include "tree-pass.h" - #include - #include - /* This pass tries to eliminate unnecessary sett or clrt instructions in cases where the ccreg value is already known to be the same as the constant set --- 29,34 ---- diff -Nrcpad gcc-7.2.0/gcc/config/sol2.h gcc-7.3.0/gcc/config/sol2.h *** gcc-7.2.0/gcc/config/sol2.h Fri Jan 13 12:11:00 2017 --- gcc-7.3.0/gcc/config/sol2.h Tue Nov 21 09:31:12 2017 *************** along with GCC; see the file COPYING3. *** 174,182 **** %{!ansi:values-Xa.o%s}" #if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS) ! #define STARTFILE_CRTBEGIN_SPEC "%{shared:crtbeginS.o%s} \ ! %{" PIE_SPEC ":crtbeginS.o%s} \ ! %{" NO_PIE_SPEC ":crtbegin.o%s}" #else #define STARTFILE_CRTBEGIN_SPEC "crtbegin.o%s" #endif --- 174,182 ---- %{!ansi:values-Xa.o%s}" #if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS) ! #define STARTFILE_CRTBEGIN_SPEC "%{static:crtbegin.o%s; \ ! shared|" PIE_SPEC ":crtbeginS.o%s; \ ! :crtbegin.o%s}" #else #define STARTFILE_CRTBEGIN_SPEC "crtbegin.o%s" #endif *************** along with GCC; see the file COPYING3. *** 205,212 **** /* We don't use the standard svr4 STARTFILE_SPEC because it's wrong for us. */ #undef STARTFILE_SPEC #ifdef HAVE_SOLARIS_CRTS ! /* Since Solaris 11.x and Solaris 12, the OS delivers crt1.o, crti.o, and ! crtn.o, with a hook for compiler-dependent stuff like profile handling. */ #define STARTFILE_SPEC "%{!shared:%{!symbolic: \ crt1.o%s \ %{p:%e-p is not supported; \ --- 205,212 ---- /* We don't use the standard svr4 STARTFILE_SPEC because it's wrong for us. */ #undef STARTFILE_SPEC #ifdef HAVE_SOLARIS_CRTS ! /* Since Solaris 11.4, the OS delivers crt1.o, crti.o, and crtn.o, with a hook ! for compiler-dependent stuff like profile handling. */ #define STARTFILE_SPEC "%{!shared:%{!symbolic: \ crt1.o%s \ %{p:%e-p is not supported; \ *************** along with GCC; see the file COPYING3. *** 224,232 **** #endif #if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS) ! #define ENDFILE_CRTEND_SPEC "%{shared:crtendS.o%s;: \ ! %{" PIE_SPEC ":crtendS.o%s} \ ! %{" NO_PIE_SPEC ":crtend.o%s}}" #else #define ENDFILE_CRTEND_SPEC "crtend.o%s" #endif --- 224,232 ---- #endif #if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS) ! #define ENDFILE_CRTEND_SPEC "%{static:crtend.o%s; \ ! shared|" PIE_SPEC ":crtendS.o%s; \ ! :crtend.o%s}" #else #define ENDFILE_CRTEND_SPEC "crtend.o%s" #endif diff -Nrcpad gcc-7.2.0/gcc/config/sparc/sparc.c gcc-7.3.0/gcc/config/sparc/sparc.c *** gcc-7.2.0/gcc/config/sparc/sparc.c Thu Jul 27 12:57:23 2017 --- gcc-7.3.0/gcc/config/sparc/sparc.c Tue Dec 19 08:07:22 2017 *************** mem_ref (rtx x) *** 914,919 **** --- 914,993 ---- return NULL_RTX; } + /* True if any of INSN's source register(s) is REG. */ + + static bool + insn_uses_reg_p (rtx_insn *insn, unsigned int reg) + { + extract_insn (insn); + return ((REG_P (recog_data.operand[1]) + && REGNO (recog_data.operand[1]) == reg) + || (recog_data.n_operands == 3 + && REG_P (recog_data.operand[2]) + && REGNO (recog_data.operand[2]) == reg)); + } + + /* True if INSN is a floating-point division or square-root. */ + + static bool + div_sqrt_insn_p (rtx_insn *insn) + { + if (GET_CODE (PATTERN (insn)) != SET) + return false; + + switch (get_attr_type (insn)) + { + case TYPE_FPDIVS: + case TYPE_FPSQRTS: + case TYPE_FPDIVD: + case TYPE_FPSQRTD: + return true; + default: + return false; + } + } + + /* True if INSN is a floating-point instruction. */ + + static bool + fpop_insn_p (rtx_insn *insn) + { + if (GET_CODE (PATTERN (insn)) != SET) + return false; + + switch (get_attr_type (insn)) + { + case TYPE_FPMOVE: + case TYPE_FPCMOVE: + case TYPE_FP: + case TYPE_FPCMP: + case TYPE_FPMUL: + case TYPE_FPDIVS: + case TYPE_FPSQRTS: + case TYPE_FPDIVD: + case TYPE_FPSQRTD: + return true; + default: + return false; + } + } + + /* True if INSN is an atomic instruction. */ + + static bool + atomic_insn_for_leon3_p (rtx_insn *insn) + { + switch (INSN_CODE (insn)) + { + case CODE_FOR_swapsi: + case CODE_FOR_ldstub: + case CODE_FOR_atomic_compare_and_swap_leon3_1: + return true; + default: + return false; + } + } + /* We use a machine specific pass to enable workarounds for errata. We need to have the (essentially) final form of the insn stream in order *************** sparc_do_work_around_errata (void) *** 939,949 **** { bool insert_nop = false; rtx set; /* Look into the instruction in a delay slot. */ ! if (NONJUMP_INSN_P (insn)) ! if (rtx_sequence *seq = dyn_cast (PATTERN (insn))) insn = seq->insn (1); /* Look for either of these two sequences: --- 1013,1146 ---- { bool insert_nop = false; rtx set; + rtx_insn *jump; + rtx_sequence *seq; /* Look into the instruction in a delay slot. */ ! if (NONJUMP_INSN_P (insn) ! && (seq = dyn_cast (PATTERN (insn)))) ! { ! jump = seq->insn (0); insn = seq->insn (1); + } + else if (JUMP_P (insn)) + jump = insn; + else + jump = NULL; + + /* Place a NOP at the branch target of an integer branch if it is a + floating-point operation or a floating-point branch. */ + if (sparc_fix_gr712rc + && jump + && jump_to_label_p (jump) + && get_attr_branch_type (jump) == BRANCH_TYPE_ICC) + { + rtx_insn *target = next_active_insn (JUMP_LABEL_AS_INSN (jump)); + if (target + && (fpop_insn_p (target) + || (JUMP_P (target) + && get_attr_branch_type (target) == BRANCH_TYPE_FCC))) + emit_insn_before (gen_nop (), target); + } + + /* Insert a NOP between load instruction and atomic instruction. Insert + a NOP at branch target if there is a load in delay slot and an atomic + instruction at branch target. */ + if (sparc_fix_ut700 + && NONJUMP_INSN_P (insn) + && (set = single_set (insn)) != NULL_RTX + && mem_ref (SET_SRC (set)) + && REG_P (SET_DEST (set))) + { + if (jump && jump_to_label_p (jump)) + { + rtx_insn *target = next_active_insn (JUMP_LABEL_AS_INSN (jump)); + if (target && atomic_insn_for_leon3_p (target)) + emit_insn_before (gen_nop (), target); + } + + next = next_active_insn (insn); + if (!next) + break; + + if (atomic_insn_for_leon3_p (next)) + insert_nop = true; + } + + /* Look for a sequence that starts with a fdiv or fsqrt instruction and + ends with another fdiv or fsqrt instruction with no dependencies on + the former, along with an appropriate pattern in between. */ + if (sparc_fix_lost_divsqrt + && NONJUMP_INSN_P (insn) + && div_sqrt_insn_p (insn)) + { + int i; + int fp_found = 0; + rtx_insn *after; + + const unsigned int dest_reg = REGNO (SET_DEST (single_set (insn))); + + next = next_active_insn (insn); + if (!next) + break; + + for (after = next, i = 0; i < 4; i++) + { + /* Count floating-point operations. */ + if (i != 3 && fpop_insn_p (after)) + { + /* If the insn uses the destination register of + the div/sqrt, then it cannot be problematic. */ + if (insn_uses_reg_p (after, dest_reg)) + break; + fp_found++; + } + + /* Count floating-point loads. */ + if (i != 3 + && (set = single_set (after)) != NULL_RTX + && REG_P (SET_DEST (set)) + && REGNO (SET_DEST (set)) > 31) + { + /* If the insn uses the destination register of + the div/sqrt, then it cannot be problematic. */ + if (REGNO (SET_DEST (set)) == dest_reg) + break; + fp_found++; + } + + /* Check if this is a problematic sequence. */ + if (i > 1 + && fp_found >= 2 + && div_sqrt_insn_p (after)) + { + /* If this is the short version of the problematic + sequence we add two NOPs in a row to also prevent + the long version. */ + if (i == 2) + emit_insn_before (gen_nop (), next); + insert_nop = true; + break; + } + + /* No need to scan past a second div/sqrt. */ + if (div_sqrt_insn_p (after)) + break; + + /* Insert NOP before branch. */ + if (i < 3 + && (!NONJUMP_INSN_P (after) + || GET_CODE (PATTERN (after)) == SEQUENCE)) + { + insert_nop = true; + break; + } + + after = next_active_insn (after); + if (!after) + break; + } + } /* Look for either of these two sequences: *************** sparc_do_work_around_errata (void) *** 1003,1010 **** then the sequence cannot be problematic. */ if (i == 0) { ! if (((set = single_set (after)) != NULL_RTX) ! && (MEM_P (SET_DEST (set)) || MEM_P (SET_SRC (set)))) break; after = next_active_insn (after); --- 1200,1207 ---- then the sequence cannot be problematic. */ if (i == 0) { ! if ((set = single_set (after)) != NULL_RTX ! && (MEM_P (SET_DEST (set)) || mem_ref (SET_SRC (set)))) break; after = next_active_insn (after); *************** sparc_do_work_around_errata (void) *** 1014,1034 **** /* Add NOP if third instruction is a store. */ if (i == 1 ! && ((set = single_set (after)) != NULL_RTX) && MEM_P (SET_DEST (set))) insert_nop = true; } } ! else /* Look for a single-word load into an odd-numbered FP register. */ ! if (sparc_fix_at697f ! && NONJUMP_INSN_P (insn) ! && (set = single_set (insn)) != NULL_RTX ! && GET_MODE_SIZE (GET_MODE (SET_SRC (set))) == 4 ! && MEM_P (SET_SRC (set)) ! && REG_P (SET_DEST (set)) ! && REGNO (SET_DEST (set)) > 31 ! && REGNO (SET_DEST (set)) % 2 != 0) { /* The wrong dependency is on the enclosing double register. */ const unsigned int x = REGNO (SET_DEST (set)) - 1; --- 1211,1231 ---- /* Add NOP if third instruction is a store. */ if (i == 1 ! && (set = single_set (after)) != NULL_RTX && MEM_P (SET_DEST (set))) insert_nop = true; } } ! /* Look for a single-word load into an odd-numbered FP register. */ ! else if (sparc_fix_at697f ! && NONJUMP_INSN_P (insn) ! && (set = single_set (insn)) != NULL_RTX ! && GET_MODE_SIZE (GET_MODE (SET_SRC (set))) == 4 ! && mem_ref (SET_SRC (set)) ! && REG_P (SET_DEST (set)) ! && REGNO (SET_DEST (set)) > 31 ! && REGNO (SET_DEST (set)) % 2 != 0) { /* The wrong dependency is on the enclosing double register. */ const unsigned int x = REGNO (SET_DEST (set)) - 1; *************** sparc_do_work_around_errata (void) *** 1095,1101 **** && NONJUMP_INSN_P (insn) && (set = single_set (insn)) != NULL_RTX && GET_MODE_SIZE (GET_MODE (SET_SRC (set))) <= 4 ! && mem_ref (SET_SRC (set)) != NULL_RTX && REG_P (SET_DEST (set)) && REGNO (SET_DEST (set)) < 32) { --- 1292,1299 ---- && NONJUMP_INSN_P (insn) && (set = single_set (insn)) != NULL_RTX && GET_MODE_SIZE (GET_MODE (SET_SRC (set))) <= 4 ! && (mem_ref (SET_SRC (set)) != NULL_RTX ! || INSN_CODE (insn) == CODE_FOR_movsi_pic_gotdata_op) && REG_P (SET_DEST (set)) && REGNO (SET_DEST (set)) < 32) { *************** sparc_do_work_around_errata (void) *** 1133,1138 **** --- 1331,1341 ---- && REGNO (src) != REGNO (x))) && !reg_mentioned_p (x, XEXP (dest, 0))) insert_nop = true; + + /* GOT accesses uses LD. */ + else if (INSN_CODE (next) == CODE_FOR_movsi_pic_gotdata_op + && !reg_mentioned_p (x, XEXP (XEXP (src, 0), 1))) + insert_nop = true; } } *************** public: *** 1272,1278 **** /* opt_pass methods: */ virtual bool gate (function *) { ! return sparc_fix_at697f || sparc_fix_ut699 || sparc_fix_b2bst; } virtual unsigned int execute (function *) --- 1475,1482 ---- /* opt_pass methods: */ virtual bool gate (function *) { ! return sparc_fix_at697f || sparc_fix_ut699 || sparc_fix_b2bst ! || sparc_fix_gr712rc || sparc_fix_ut700 || sparc_fix_lost_divsqrt; } virtual unsigned int execute (function *) *************** sparc_option_override (void) *** 1642,1650 **** if (!(target_flags_explicit & MASK_LRA)) target_flags |= MASK_LRA; ! /* Enable the back-to-back store errata workaround for LEON3FT. */ if (sparc_fix_ut699 || sparc_fix_ut700 || sparc_fix_gr712rc) sparc_fix_b2bst = 1; /* Disable FsMULd for the UT699 since it doesn't work correctly. */ if (sparc_fix_ut699) --- 1846,1857 ---- if (!(target_flags_explicit & MASK_LRA)) target_flags |= MASK_LRA; ! /* Enable applicable errata workarounds for LEON3FT. */ if (sparc_fix_ut699 || sparc_fix_ut700 || sparc_fix_gr712rc) + { sparc_fix_b2bst = 1; + sparc_fix_lost_divsqrt = 1; + } /* Disable FsMULd for the UT699 since it doesn't work correctly. */ if (sparc_fix_ut699) diff -Nrcpad gcc-7.2.0/gcc/config/sparc/sparc.md gcc-7.3.0/gcc/config/sparc/sparc.md *** gcc-7.2.0/gcc/config/sparc/sparc.md Wed Jul 26 12:42:03 2017 --- gcc-7.3.0/gcc/config/sparc/sparc.md Wed Dec 6 08:38:32 2017 *************** *** 430,435 **** --- 430,443 ---- (symbol_ref "(sparc_fix_b2bst != 0 ? FIX_B2BST_TRUE : FIX_B2BST_FALSE)")) + (define_attr "fix_lost_divsqrt" "false,true" + (symbol_ref "(sparc_fix_lost_divsqrt != 0 + ? FIX_LOST_DIVSQRT_TRUE : FIX_LOST_DIVSQRT_FALSE)")) + + (define_attr "fix_gr712rc" "false,true" + (symbol_ref "(sparc_fix_gr712rc != 0 + ? FIX_GR712RC_TRUE : FIX_GR712RC_FALSE)")) + ;; Length (in # of insns). ;; Beware that setting a length greater or equal to 3 for conditional branches ;; has a side-effect (see output_cbranch and output_v9branch). *************** *** 577,582 **** --- 585,593 ---- (define_attr "in_branch_delay" "false,true" (cond [(eq_attr "type" "uncond_branch,branch,cbcond,uncond_cbcond,call,sibcall,call_no_delay_slot,multi") (const_string "false") + (and (eq_attr "fix_lost_divsqrt" "true") + (eq_attr "type" "fpdivs,fpsqrts,fpdivd,fpsqrtd")) + (const_string "false") (and (eq_attr "fix_b2bst" "true") (eq_attr "type" "store,fpstore")) (const_string "false") (and (eq_attr "fix_ut699" "true") (eq_attr "type" "load,sload")) *************** *** 590,595 **** --- 601,615 ---- (const_string "true") ] (const_string "false"))) + (define_attr "in_integer_branch_annul_delay" "false,true" + (cond [(and (eq_attr "fix_gr712rc" "true") + (eq_attr "type" "fp,fpcmp,fpmove,fpcmove,fpmul, + fpdivs,fpsqrts,fpdivd,fpsqrtd")) + (const_string "false") + (eq_attr "in_branch_delay" "true") + (const_string "true") + ] (const_string "false"))) + (define_delay (eq_attr "type" "call") [(eq_attr "in_call_delay" "true") (nil) (nil)]) *************** *** 599,607 **** (define_delay (eq_attr "type" "return") [(eq_attr "in_return_delay" "true") (nil) (nil)]) ! (define_delay (eq_attr "type" "branch") [(eq_attr "in_branch_delay" "true") (nil) (eq_attr "in_branch_delay" "true")]) (define_delay (eq_attr "type" "uncond_branch") [(eq_attr "in_branch_delay" "true") (nil) (nil)]) --- 619,633 ---- (define_delay (eq_attr "type" "return") [(eq_attr "in_return_delay" "true") (nil) (nil)]) ! (define_delay (and (eq_attr "type" "branch") ! (not (eq_attr "branch_type" "icc"))) [(eq_attr "in_branch_delay" "true") (nil) (eq_attr "in_branch_delay" "true")]) + (define_delay (and (eq_attr "type" "branch") + (eq_attr "branch_type" "icc")) + [(eq_attr "in_branch_delay" "true") (nil) + (eq_attr "in_integer_branch_annul_delay" "true")]) + (define_delay (eq_attr "type" "uncond_branch") [(eq_attr "in_branch_delay" "true") (nil) (nil)]) *************** visl") *** 4518,4524 **** ;; The 32-bit multiply/divide instructions are deprecated on v9, but at ;; least in UltraSPARC I, II and IIi it is a win tick-wise. ! (define_insn "mulsi3" [(set (match_operand:SI 0 "register_operand" "=r") (mult:SI (match_operand:SI 1 "arith_operand" "%r") (match_operand:SI 2 "arith_operand" "rI")))] --- 4544,4557 ---- ;; The 32-bit multiply/divide instructions are deprecated on v9, but at ;; least in UltraSPARC I, II and IIi it is a win tick-wise. ! (define_expand "mulsi3" ! [(set (match_operand:SI 0 "register_operand" "") ! (mult:SI (match_operand:SI 1 "arith_operand" "") ! (match_operand:SI 2 "arith_operand" "")))] ! "TARGET_HARD_MUL || TARGET_ARCH64" ! "") ! ! (define_insn "*mulsi3_sp32" [(set (match_operand:SI 0 "register_operand" "=r") (mult:SI (match_operand:SI 1 "arith_operand" "%r") (match_operand:SI 2 "arith_operand" "rI")))] *************** visl") *** 4526,4531 **** --- 4559,4572 ---- "smul\t%1, %2, %0" [(set_attr "type" "imul")]) + (define_insn "*mulsi3_sp64" + [(set (match_operand:SI 0 "register_operand" "=r") + (mult:SI (match_operand:SI 1 "arith_operand" "%r") + (match_operand:SI 2 "arith_operand" "rI")))] + "TARGET_ARCH64" + "mulx\t%1, %2, %0" + [(set_attr "type" "imul")]) + (define_expand "muldi3" [(set (match_operand:DI 0 "register_operand" "") (mult:DI (match_operand:DI 1 "arith_operand" "") diff -Nrcpad gcc-7.2.0/gcc/config/sparc/sparc.opt gcc-7.3.0/gcc/config/sparc/sparc.opt *** gcc-7.2.0/gcc/config/sparc/sparc.opt Wed Jul 26 12:42:03 2017 --- gcc-7.3.0/gcc/config/sparc/sparc.opt Wed Nov 29 17:01:45 2017 *************** Enable workarounds for the errata of the *** 253,258 **** --- 253,262 ---- TargetVariable unsigned int sparc_fix_b2bst + ;; Enable workaround for GRLIB-TN-0013 errata + TargetVariable + unsigned int sparc_fix_lost_divsqrt + Mask(LONG_DOUBLE_128) ;; Use 128-bit long double diff -Nrcpad gcc-7.2.0/gcc/config/sparc/sync.md gcc-7.3.0/gcc/config/sparc/sync.md *** gcc-7.2.0/gcc/config/sparc/sync.md Sun Feb 5 09:47:48 2017 --- gcc-7.3.0/gcc/config/sparc/sync.md Wed Nov 29 16:58:35 2017 *************** *** 212,218 **** "cas\t%1, %2, %0" [(set_attr "type" "multi")]) ! (define_insn "*atomic_compare_and_swap_leon3_1" [(set (match_operand:SI 0 "register_operand" "=r") (match_operand:SI 1 "mem_noofs_operand" "+w")) (set (match_dup 1) --- 212,218 ---- "cas\t%1, %2, %0" [(set_attr "type" "multi")]) ! (define_insn "atomic_compare_and_swap_leon3_1" [(set (match_operand:SI 0 "register_operand" "=r") (match_operand:SI 1 "mem_noofs_operand" "+w")) (set (match_dup 1) *************** *** 222,233 **** UNSPECV_CAS))] "TARGET_LEON3" { if (TARGET_SV_MODE) return "casa\t%1 0xb, %2, %0"; /* ASI for supervisor data space. */ else return "casa\t%1 0xa, %2, %0"; /* ASI for user data space. */ } ! [(set_attr "type" "multi")]) (define_insn "*atomic_compare_and_swapdi_v8plus" [(set (match_operand:DI 0 "register_operand" "=h") --- 222,237 ---- UNSPECV_CAS))] "TARGET_LEON3" { + if (sparc_fix_gr712rc) + output_asm_insn (".align\t16", operands); if (TARGET_SV_MODE) return "casa\t%1 0xb, %2, %0"; /* ASI for supervisor data space. */ else return "casa\t%1 0xa, %2, %0"; /* ASI for user data space. */ } ! [(set_attr "type" "multi") ! (set (attr "length") (if_then_else (eq_attr "fix_gr712rc" "true") ! (const_int 4) (const_int 1)))]) (define_insn "*atomic_compare_and_swapdi_v8plus" [(set (match_operand:DI 0 "register_operand" "=h") *************** *** 275,282 **** (set (match_dup 1) (match_operand:SI 2 "register_operand" "0"))] "(TARGET_V8 || TARGET_V9) && !sparc_fix_ut699" ! "swap\t%1, %0" ! [(set_attr "type" "multi")]) (define_expand "atomic_test_and_set" [(match_operand:QI 0 "register_operand" "") --- 279,293 ---- (set (match_dup 1) (match_operand:SI 2 "register_operand" "0"))] "(TARGET_V8 || TARGET_V9) && !sparc_fix_ut699" ! { ! if (sparc_fix_gr712rc) ! return ".align\t16\n\tswap\t%1, %0"; ! else ! return "swap\t%1, %0"; ! } ! [(set_attr "type" "multi") ! (set (attr "length") (if_then_else (eq_attr "fix_gr712rc" "true") ! (const_int 4) (const_int 1)))]) (define_expand "atomic_test_and_set" [(match_operand:QI 0 "register_operand" "") *************** *** 307,311 **** UNSPECV_LDSTUB)) (set (match_dup 1) (const_int -1))] "!sparc_fix_ut699" ! "ldstub\t%1, %0" ! [(set_attr "type" "multi")]) --- 318,329 ---- UNSPECV_LDSTUB)) (set (match_dup 1) (const_int -1))] "!sparc_fix_ut699" ! { ! if (sparc_fix_gr712rc) ! return ".align\t16\n\tldstub\t%1, %0"; ! else ! return "ldstub\t%1, %0"; ! } ! [(set_attr "type" "multi") ! (set (attr "length") (if_then_else (eq_attr "fix_gr712rc" "true") ! (const_int 4) (const_int 1)))]) diff -Nrcpad gcc-7.2.0/gcc/config/t-netbsd gcc-7.3.0/gcc/config/t-netbsd *** gcc-7.2.0/gcc/config/t-netbsd Thu Jan 1 00:00:00 1970 --- gcc-7.3.0/gcc/config/t-netbsd Fri Sep 29 09:38:08 2017 *************** *** 0 **** --- 1,21 ---- + # Copyright (C) 2017 Free Software Foundation, Inc. + # + # This file is part of GCC. + # + # GCC is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation; either version 3, or (at your option) + # any later version. + # + # GCC is distributed in the hope that it will be useful, + # but WITHOUT ANY WARRANTY; without even the implied warranty of + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License + # along with GCC; see the file COPYING3. If not see + # . + + netbsd.o: $(srcdir)/config/netbsd.c + $(COMPILE) $< + $(POSTCOMPILE) diff -Nrcpad gcc-7.2.0/gcc/config/xtensa/xtensa-protos.h gcc-7.3.0/gcc/config/xtensa/xtensa-protos.h *** gcc-7.2.0/gcc/config/xtensa/xtensa-protos.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/xtensa/xtensa-protos.h Tue Dec 5 14:29:53 2017 *************** extern void xtensa_expand_prologue (void *** 73,77 **** --- 73,78 ---- extern void xtensa_expand_epilogue (void); extern void order_regs_for_local_alloc (void); extern enum reg_class xtensa_regno_to_class (int regno); + extern HOST_WIDE_INT xtensa_initial_elimination_offset (int from, int to); #endif /* !__XTENSA_PROTOS_H__ */ diff -Nrcpad gcc-7.2.0/gcc/config/xtensa/xtensa.c gcc-7.3.0/gcc/config/xtensa/xtensa.c *** gcc-7.2.0/gcc/config/xtensa/xtensa.c Wed May 31 00:28:16 2017 --- gcc-7.3.0/gcc/config/xtensa/xtensa.c Tue Dec 5 14:31:41 2017 *************** static bool xtensa_member_type_forces_bl *** 176,181 **** --- 176,182 ---- machine_mode mode); static void xtensa_conditional_register_usage (void); + static unsigned HOST_WIDE_INT xtensa_asan_shadow_offset (void); *************** static void xtensa_conditional_register_ *** 304,309 **** --- 305,313 ---- #undef TARGET_CONDITIONAL_REGISTER_USAGE #define TARGET_CONDITIONAL_REGISTER_USAGE xtensa_conditional_register_usage + #undef TARGET_ASAN_SHADOW_OFFSET + #define TARGET_ASAN_SHADOW_OFFSET xtensa_asan_shadow_offset + struct gcc_target targetm = TARGET_INITIALIZER; *************** xtensa_mem_offset (unsigned v, machine_m *** 605,610 **** --- 609,615 ---- case HImode: return xtensa_uimm8x2 (v); + case DImode: case DFmode: return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); *************** xtensa_frame_pointer_required (void) *** 2677,2682 **** --- 2682,2711 ---- return false; } + HOST_WIDE_INT + xtensa_initial_elimination_offset (int from, int to) + { + long frame_size = compute_frame_size (get_frame_size ()); + HOST_WIDE_INT offset; + + switch (from) + { + case FRAME_POINTER_REGNUM: + if (FRAME_GROWS_DOWNWARD) + offset = frame_size - (WINDOW_SIZE * UNITS_PER_WORD) + - cfun->machine->callee_save_size; + else + offset = 0; + break; + case ARG_POINTER_REGNUM: + offset = frame_size; + break; + default: + gcc_unreachable (); + } + + return offset; + } /* minimum frame = reg save area (4 words) plus static chain (1 word) and the total number of words must be a multiple of 128 bits. */ *************** enum reg_class xtensa_regno_to_class (in *** 4312,4315 **** --- 4341,4352 ---- return regno_to_class[regno]; } + /* Implement TARGET_ASAN_SHADOW_OFFSET. */ + + static unsigned HOST_WIDE_INT + xtensa_asan_shadow_offset (void) + { + return HOST_WIDE_INT_UC (0x10000000); + } + #include "gt-xtensa.h" diff -Nrcpad gcc-7.2.0/gcc/config/xtensa/xtensa.h gcc-7.3.0/gcc/config/xtensa/xtensa.h *** gcc-7.2.0/gcc/config/xtensa/xtensa.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/config/xtensa/xtensa.h Tue Dec 5 14:31:41 2017 *************** enum reg_class *** 460,468 **** #define STACK_GROWS_DOWNWARD 1 /* Offset within stack frame to start allocating local variables at. */ #define STARTING_FRAME_OFFSET \ ! crtl->outgoing_args_size /* The ARG_POINTER and FRAME_POINTER are not real Xtensa registers, so they are eliminated to either the stack pointer or hard frame pointer. */ --- 460,471 ---- #define STACK_GROWS_DOWNWARD 1 + #define FRAME_GROWS_DOWNWARD (flag_stack_protect \ + || (flag_sanitize & SANITIZE_ADDRESS) != 0) + /* Offset within stack frame to start allocating local variables at. */ #define STARTING_FRAME_OFFSET \ ! (FRAME_GROWS_DOWNWARD ? 0 : crtl->outgoing_args_size) /* The ARG_POINTER and FRAME_POINTER are not real Xtensa registers, so they are eliminated to either the stack pointer or hard frame pointer. */ *************** enum reg_class *** 474,493 **** /* Specify the initial difference between the specified pair of registers. */ #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ ! do { \ ! long frame_size = compute_frame_size (get_frame_size ()); \ ! switch (FROM) \ ! { \ ! case FRAME_POINTER_REGNUM: \ ! (OFFSET) = 0; \ ! break; \ ! case ARG_POINTER_REGNUM: \ ! (OFFSET) = frame_size; \ ! break; \ ! default: \ ! gcc_unreachable (); \ ! } \ ! } while (0) /* If defined, the maximum amount of space required for outgoing arguments will be computed and placed into the variable --- 477,483 ---- /* Specify the initial difference between the specified pair of registers. */ #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ ! (OFFSET) = xtensa_initial_elimination_offset ((FROM), (TO)) /* If defined, the maximum amount of space required for outgoing arguments will be computed and placed into the variable diff -Nrcpad gcc-7.2.0/gcc/config.gcc gcc-7.3.0/gcc/config.gcc *** gcc-7.2.0/gcc/config.gcc Mon Jul 31 11:33:18 2017 --- gcc-7.3.0/gcc/config.gcc Mon Jan 8 13:39:11 2018 *************** case ${target} in *** 775,781 **** target_has_targetcm=yes ;; *-*-netbsd*) ! tmake_file="t-slibgcc" gas=yes gnu_ld=yes use_gcc_stdint=wrap --- 775,783 ---- target_has_targetcm=yes ;; *-*-netbsd*) ! tm_p_file="${tm_p_file} netbsd-protos.h" ! tmake_file="t-netbsd t-slibgcc" ! extra_objs="${extra_objs} netbsd.o" gas=yes gnu_ld=yes use_gcc_stdint=wrap *************** case ${target} in *** 856,863 **** sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h" sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}" case ${target} in ! *-*-solaris2.1[2-9]*) ! # __cxa_atexit was introduced in Solaris 12. default_use_cxa_atexit=yes ;; esac --- 858,865 ---- sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h" sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}" case ${target} in ! *-*-solaris2.1[1-9]*) ! # __cxa_atexit was introduced in Solaris 11.4. default_use_cxa_atexit=yes ;; esac *************** arc*-*-elf*) *** 1036,1042 **** big*) tm_file="arc/big.h ${tm_file}" esac ;; ! arc*-*-linux-uclibc*) tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}" tmake_file="${tmake_file} arc/t-arc" extra_gcc_objs="driver-arc.o" --- 1038,1044 ---- big*) tm_file="arc/big.h ${tm_file}" esac ;; ! arc*-*-linux*) tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}" tmake_file="${tmake_file} arc/t-arc" extra_gcc_objs="driver-arc.o" *************** arm*-*-freebsd*) # ARM Fr *** 1075,1085 **** case $target in armv6*-*-freebsd*) target_cpu_cname="arm1176jzfs" - tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1" if test $fbsd_major -ge 11; then tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" fi ;; *) target_cpu_cname="arm9" ;; --- 1077,1090 ---- case $target in armv6*-*-freebsd*) target_cpu_cname="arm1176jzfs" if test $fbsd_major -ge 11; then tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" fi ;; + armv7*-*-freebsd*) + target_cpu_cname="genericv7a" + tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1" + ;; *) target_cpu_cname="arm9" ;; *************** crisv32-*-linux* | cris-*-linux*) *** 1230,1240 **** ;; esac ;; ! epiphany-*-elf ) ! tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}" ! tmake_file="epiphany/t-epiphany" extra_options="${extra_options} fused-madd.opt" ! extra_objs="$extra_objs mode-switch-use.o resolve-sw-modes.o" tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}" extra_headers="epiphany_intrinsics.h" ;; --- 1235,1253 ---- ;; esac ;; ! epiphany-*-elf | epiphany-*-rtems*) ! tm_file="${tm_file} dbxelf.h elfos.h" ! tmake_file="${tmake_file} epiphany/t-epiphany" ! case ${target} in ! epiphany-*-rtems*) ! tm_file="${tm_file} rtems.h epiphany/rtems.h newlib-stdint.h" ! ;; ! *) ! tm_file="${tm_file} newlib-stdint.h" ! ;; ! esac extra_options="${extra_options} fused-madd.opt" ! extra_objs="${extra_objs} mode-switch-use.o resolve-sw-modes.o" tm_defines="${tm_defines} EPIPHANY_STACK_OFFSET=${with_stack_offset:-8}" extra_headers="epiphany_intrinsics.h" ;; *************** powerpc-*-eabi*) *** 2416,2422 **** ;; powerpc-*-rtems*) tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/e500.h rs6000/rtems.h rtems.h" ! extra_options="${extra_options} rs6000/sysv4.opt" tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm" ;; powerpc*-*-linux*) --- 2429,2435 ---- ;; powerpc-*-rtems*) tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/e500.h rs6000/rtems.h rtems.h" ! extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt" tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm" ;; powerpc*-*-linux*) diff -Nrcpad gcc-7.2.0/gcc/config.in gcc-7.3.0/gcc/config.in *** gcc-7.2.0/gcc/config.in Mon Aug 14 08:03:31 2017 --- gcc-7.3.0/gcc/config.in Thu Jan 25 08:17:54 2018 *************** *** 709,714 **** --- 709,720 ---- #endif + /* Define if your assembler supports -xbrace_comment option. */ + #ifndef USED_FOR_TARGET + #undef HAVE_AS_XBRACE_COMMENT_OPTION + #endif + + /* Define to 1 if you have the `atoq' function. */ #ifndef USED_FOR_TARGET #undef HAVE_ATOQ diff -Nrcpad gcc-7.2.0/gcc/configure gcc-7.3.0/gcc/configure *** gcc-7.2.0/gcc/configure Fri Jul 7 15:42:43 2017 --- gcc-7.3.0/gcc/configure Tue Nov 21 09:31:12 2017 *************** $as_echo "$as_me: WARNING: LTO for $targ *** 25449,25454 **** --- 25449,25486 ---- ;; esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for -xbrace_comment" >&5 + $as_echo_n "checking assembler for -xbrace_comment... " >&6; } + if test "${gcc_cv_as_ix86_xbrace_comment+set}" = set; then : + $as_echo_n "(cached) " >&6 + else + gcc_cv_as_ix86_xbrace_comment=no + if test x$gcc_cv_as != x; then + $as_echo '.text' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -xbrace_comment=no -o conftest.o conftest.s >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } + then + gcc_cv_as_ix86_xbrace_comment=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ix86_xbrace_comment" >&5 + $as_echo "$gcc_cv_as_ix86_xbrace_comment" >&6; } + if test $gcc_cv_as_ix86_xbrace_comment = yes; then + + $as_echo "#define HAVE_AS_XBRACE_COMMENT_OPTION 1" >>confdefs.h + + fi + + # Test if the assembler supports the section flag 'e' for specifying # an excluded section. { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .section with e" >&5 *************** elif test x$gcc_cv_ld != x; then *** 28122,28128 **** else case "$target" in *-*-solaris2.1[1-9]*) ! # Solaris 11.x and Solaris 12 added PIE support. if $gcc_cv_ld -z help 2>&1 | grep -- type.*pie > /dev/null; then gcc_cv_ld_pie=yes fi --- 28154,28160 ---- else case "$target" in *-*-solaris2.1[1-9]*) ! # Solaris 11.3 added PIE support. if $gcc_cv_ld -z help 2>&1 | grep -- type.*pie > /dev/null; then gcc_cv_ld_pie=yes fi diff -Nrcpad gcc-7.2.0/gcc/configure.ac gcc-7.3.0/gcc/configure.ac *** gcc-7.2.0/gcc/configure.ac Fri Jul 7 15:42:43 2017 --- gcc-7.3.0/gcc/configure.ac Tue Nov 21 09:31:12 2017 *************** foo: nop *** 4059,4064 **** --- 4059,4069 ---- ;; esac + gcc_GAS_CHECK_FEATURE([-xbrace_comment], gcc_cv_as_ix86_xbrace_comment,, + [-xbrace_comment=no], [.text],, + [AC_DEFINE(HAVE_AS_XBRACE_COMMENT_OPTION, 1, + [Define if your assembler supports -xbrace_comment option.])]) + # Test if the assembler supports the section flag 'e' for specifying # an excluded section. gcc_GAS_CHECK_FEATURE([.section with e], gcc_cv_as_section_has_e, *************** elif test x$gcc_cv_ld != x; then *** 5047,5053 **** else case "$target" in *-*-solaris2.1[[1-9]]*) ! # Solaris 11.x and Solaris 12 added PIE support. if $gcc_cv_ld -z help 2>&1 | grep -- type.*pie > /dev/null; then gcc_cv_ld_pie=yes fi --- 5052,5058 ---- else case "$target" in *-*-solaris2.1[[1-9]]*) ! # Solaris 11.3 added PIE support. if $gcc_cv_ld -z help 2>&1 | grep -- type.*pie > /dev/null; then gcc_cv_ld_pie=yes fi diff -Nrcpad gcc-7.2.0/gcc/convert.c gcc-7.3.0/gcc/convert.c *** gcc-7.2.0/gcc/convert.c Fri Apr 7 08:20:24 2017 --- gcc-7.3.0/gcc/convert.c Tue Jan 9 08:53:14 2018 *************** do_narrow (location_t loc, *** 461,468 **** type in case the operation in outprec precision could overflow. Otherwise, we would introduce signed-overflow undefinedness. */ ! || ((!TYPE_OVERFLOW_WRAPS (TREE_TYPE (arg0)) ! || !TYPE_OVERFLOW_WRAPS (TREE_TYPE (arg1))) && ((TYPE_PRECISION (TREE_TYPE (arg0)) * 2u > outprec) || (TYPE_PRECISION (TREE_TYPE (arg1)) * 2u --- 461,470 ---- type in case the operation in outprec precision could overflow. Otherwise, we would introduce signed-overflow undefinedness. */ ! || ((!(INTEGRAL_TYPE_P (TREE_TYPE (arg0)) ! && TYPE_OVERFLOW_WRAPS (TREE_TYPE (arg0))) ! || !(INTEGRAL_TYPE_P (TREE_TYPE (arg1)) ! && TYPE_OVERFLOW_WRAPS (TREE_TYPE (arg1)))) && ((TYPE_PRECISION (TREE_TYPE (arg0)) * 2u > outprec) || (TYPE_PRECISION (TREE_TYPE (arg1)) * 2u diff -Nrcpad gcc-7.2.0/gcc/cp/ChangeLog gcc-7.3.0/gcc/cp/ChangeLog *** gcc-7.2.0/gcc/cp/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/cp/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,11 **** 2017-08-14 Release Manager * GCC 7.2.0 released. 2017-08-09 Leonid Koppel ! PR c++/67054 - Inherited ctor with non-default-constructible members ! * method.c (walk_field_subobs) Consider member initializers (NSDMIs) when deducing an inheriting constructor. 2017-07-27 Paolo Carlini --- 1,233 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2018-01-17 Jason Merrill + + PR c++/81843 - ICE with variadic member template. + PR c++/72801 + * pt.c (unify_pack_expansion): Don't try to deduce enclosing + template args. + + PR c++/82331 - ICE with variadic partial specialization of auto + * pt.c (unify) [TEMPLATE_PARM_INDEX]: Set processing_template_decl + around call to tsubst. + + PR c++/82760 - memory corruption with aligned new. + * call.c (build_operator_new_call): Update *args if we add the + align_arg. + + 2018-01-02 Jakub Jelinek + + PR c++/83556 + * tree.c (replace_placeholders_r): Pass NULL as last argument to + cp_walk_tree instead of d->pset. If non-TREE_CONSTANT and + non-PLACEHOLDER_EXPR tree has been seen already, set *walk_subtrees + to false and return. + (replace_placeholders): Pass NULL instead of &pset as last argument + to cp_walk_tree. + + 2017-12-19 Marek Polacek + + Backported from mainline + 2017-12-18 Marek Polacek + + PR c++/83116 + * constexpr.c (cxx_eval_call_expression): Only look into + constexpr_call_table if ctx->strict. + + 2017-12-16 Jakub Jelinek + + Backported from mainline + 2017-12-15 Jakub Jelinek + + PR c++/83205 + * decl.c (cp_finish_decomp): Handle the case when tsize is not + error_mark_node, but doesn't fit into uhwi. Split up count != eltscnt + and !tree_fits_uhwi_p (tsize) error_at calls into error_n and inform_n + to handle plural forms properly. + + PR c++/81197 + * cp-tree.h (cp_maybe_mangle_decomp): Declare. + * decl.c (cp_maybe_mangle_decomp): New function. + (cp_finish_decomp): Don't SET_DECL_ASSEMBLER_NAME here. + * parser.c (cp_convert_range_for, + cp_parser_decomposition_declaration): Call cp_maybe_mangle_decomp. + * pt.c (tsubst_expr): Likewise. + * mangle.c (find_decomp_unqualified_name): New function. + (write_unqualified_name): Handle DECL_DECOMPOSITION_P + where DECL_ASSEMBLER_NAME is already set. + + 2017-12-15 Jakub Jelinek + + PR c++/83217 + * decl.c (cp_finish_decomp): If decl's type is REFERENCE_TYPE, + call complete_type (TREE_TYPE (type)). + + Backported from mainline + 2017-12-14 Jakub Jelinek + + PR c++/79650 + * pt.c (convert_nontype_argument): Diagnose + reduced_constant_expression_p expressions that aren't INTEGER_CST. + + 2017-12-06 Jakub Jelinek + + PR c++/80259 + * decl2.c (grokfield): Diagnose = delete redefinition of a friend. + + 2017-11-27 Jakub Jelinek + + PR c++/81888 + * parser.c (cp_parser_decomposition_declaration): Reject just + BRACE_ENCLOSED_INITIALIZER_P initializers with nelts != 1 rather + than all such CONSTRUCTORs, and only if is_direct_init is true. + + PR c++/81675 + * cp-gimplify.c (cp_fold) : Don't return immediately + for VOID_TYPE_P COND_EXPRs, instead fold the operands and if op0 is + INTEGER_CST, ensure that both op1 and op2 are non-NULL and fall + through into normal folding, otherwise just rebuild x if any op + changed. + + 2017-11-23 Jakub Jelinek + + * parser.c (cp_parser_omp_declare): Change return type to bool from + void, return true for declare simd. + (cp_parser_pragma): Return cp_parser_omp_declare returned value + rather than always false. + + 2017-11-20 Jakub Jelinek + + PR c++/82781 + * constexpr.c (cxx_eval_vector_conditional_expression): New function. + (cxx_eval_constant_expression) : Use it instead + of cxx_eval_conditional_expression. + + 2017-10-30 Paolo Carlini + + PR c++/82085 + * pt.c (tsubst_copy_and_build, [INDIRECT_REF]): For a REFERENCE_REF_P, + unconditionally call convert_from_reference. + + 2017-10-27 Jakub Jelinek + + Backported from mainline + 2017-10-04 Jakub Jelinek + + PR c++/82373 + * error.c (dump_function_decl): If show_return, call dump_type_suffix + on the same return type dump_type_prefix has been called on. + + 2017-10-17 Nathan Sidwell + + PR c++/82560 + * call.c (build_over_call): Don't pass tf_no_cleanup to nested + calls. + + 2017-10-06 Jakub Jelinek + + PR c++/82299 + * decl.c (reshape_init): Suppress warn_useless_cast for direct enum + init. + * typeck.c (convert_for_assignment): Likewise. + + 2017-10-05 Jason Merrill + + * call.c (convert_arg_to_ellipsis): Use the result of force_rvalue. + + 2017-10-04 Jason Merrill + + PR c++/82406 - C++ error with noexcept function type + PR c++/70029 - ICE with ref-qualifier and -flto + * tree.c (cxx_copy_lang_qualifiers): New. + * cp-tree.h: Declare it. + * cp-objcp-common.h: Define LANG_HOOKS_COPY_LANG_QUALIFIERS. + + PR c++/81525 - broken handling of auto in generic lambda. + * pt.c (tsubst_decl) [VAR_DECL]: Use strip_innermost_template_args. + + 2017-09-22 Eric Botcazou + + PR bootstrap/81926 + * cp-objcp-common.c (cp_get_debug_type): Do only one lookup + + 2017-09-22 Jakub Jelinek + + PR sanitizer/81929 + * tree.c (struct replace_placeholders_t): Add pset field. + (replace_placeholders_r): Call cp_walk_tree with d->pset as + last argument instead of NULL. Formatting fix. + (replace_placeholders): Add pset variable, add its address + into data. Pass &pset instead of NULL to cp_walk_tree. + + 2017-09-18 Jason Merrill + + PR c++/81236 - ICE with template-id in generic lambda + * parser.c (parsing_default_capturing_generic_lambda): Don't check + for enclosing template. + * semantics.c (finish_qualified_id_expr): Call it. + * cp-tree.h: Adjust. + + PR c++/80767 - unnecessary instantiation of generic lambda + PR c++/82030 - ICE inheriting from multiple lambdas + * call.c (convert_like_real): Call build_user_type_conversion_1 if + cand is null. + (add_conv_candidate): Build a ck_user conversion with no candidate. + + PR c++/80935 - wrong C++17 error with lambda + * decl.c (check_for_uninitialized_const_var): Check + is_instantiation_of_constexpr. + + PR c++/81671 - nullptr_t template parameter + * pt.c (convert_nontype_argument): Fix nullptr_t check. + + PR c++/81525 - wrong constant value with generic lambda + * pt.c (tsubst_decl) [VAR_DECL]: Avoid clobbering auto. + (tsubst_copy) [VAR_DECL]: Handle auto. + + 2017-09-15 Jakub Jelinek + + Backported from mainline + 2017-09-14 Jakub Jelinek + + PR c++/81314 + * cp-gimplify.c (omp_var_to_track): Look through references. + (omp_cxx_notice_variable): Likewise. + + 2017-09-09 Eric Botcazou + + PR bootstrap/81926 + * cp-objcp-common.c (struct debug_type_hasher): New class. + (debug_type_hash): New variable. + (cp_get_debug_type): Associate the OFFSET_TYPEs with the types. + + 2017-09-01 Marek Polacek + + Backported from mainline + 2017-09-01 Marek Polacek + + PR c++/82040 + * typeck.c (cp_build_unary_op): Avoid re-entering reporting routines. + + 2017-08-25 Marek Polacek + + Backported from mainline + 2017-08-08 Marek Polacek + + PR c++/81607 + * cp-gimplify.c (cp_fold): If folding exposed a branch of + a COND_EXPR, convert it to the original type of the COND_EXPR, if + they differ. + 2017-08-14 Release Manager * GCC 7.2.0 released. 2017-08-09 Leonid Koppel ! PR c++/67054 - Inherited ctor with non-default-constructible members ! * method.c (walk_field_subobs) Consider member initializers (NSDMIs) when deducing an inheriting constructor. 2017-07-27 Paolo Carlini diff -Nrcpad gcc-7.2.0/gcc/cp/call.c gcc-7.3.0/gcc/cp/call.c *** gcc-7.2.0/gcc/cp/call.c Tue Jun 20 16:47:58 2017 --- gcc-7.3.0/gcc/cp/call.c Wed Jan 17 18:07:45 2018 *************** add_conv_candidate (struct z_candidate * *** 2279,2286 **** if (i == 0) { ! t = implicit_conversion (totype, argtype, arg, /*c_cast_p=*/false, ! flags, complain); convert_type = totype; } else if (parmnode == void_list_node) --- 2279,2288 ---- if (i == 0) { ! t = build_identity_conv (argtype, NULL_TREE); ! t = build_conv (ck_user, totype, t); ! /* Leave the 'cand' field null; we'll figure out the conversion in ! convert_like_real if this candidate is chosen. */ convert_type = totype; } else if (parmnode == void_list_node) *************** build_operator_new_call (tree fnname, ve *** 4342,4347 **** --- 4344,4351 ---- = vec_copy_and_insert (*args, align_arg, 1); cand = perform_overload_resolution (fns, align_args, &candidates, &any_viable_p, tf_none); + if (cand) + *args = align_args; /* If no aligned allocation function matches, try again without the alignment. */ } *************** convert_like_real (conversion *convs, tr *** 6665,6670 **** --- 6669,6681 ---- case ck_user: { struct z_candidate *cand = convs->cand; + + if (cand == NULL) + /* We chose the surrogate function from add_conv_candidate, now we + actually need to build the conversion. */ + cand = build_user_type_conversion_1 (totype, expr, + LOOKUP_NO_CONVERSION, complain); + tree convfn = cand->fn; /* When converting from an init list we consider explicit *************** convert_arg_to_ellipsis (tree arg, tsubs *** 7117,7129 **** /* In a template (or ill-formed code), we can have an incomplete type even after require_complete_type_sfinae, in which case we don't know whether it has trivial copy or not. */ ! && COMPLETE_TYPE_P (arg_type)) { - /* Build up a real lvalue-to-rvalue conversion in case the - copy constructor is trivial but not callable. */ - if (!cp_unevaluated_operand && CLASS_TYPE_P (arg_type)) - force_rvalue (arg, complain); - /* [expr.call] 5.2.2/7: Passing a potentially-evaluated argument of class type (Clause 9) with a non-trivial copy constructor or a non-trivial destructor --- 7128,7136 ---- /* In a template (or ill-formed code), we can have an incomplete type even after require_complete_type_sfinae, in which case we don't know whether it has trivial copy or not. */ ! && COMPLETE_TYPE_P (arg_type) ! && !cp_unevaluated_operand) { /* [expr.call] 5.2.2/7: Passing a potentially-evaluated argument of class type (Clause 9) with a non-trivial copy constructor or a non-trivial destructor *************** convert_arg_to_ellipsis (tree arg, tsubs *** 7135,7144 **** If the call appears in the context of a sizeof expression, it is not potentially-evaluated. */ ! if (cp_unevaluated_operand == 0 ! && (type_has_nontrivial_copy_init (arg_type) ! || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (arg_type))) { if (complain & tf_warning) warning (OPT_Wconditionally_supported, "passing objects of non-trivially-copyable " --- 7142,7151 ---- If the call appears in the context of a sizeof expression, it is not potentially-evaluated. */ ! if (type_has_nontrivial_copy_init (arg_type) ! || TYPE_HAS_NONTRIVIAL_DESTRUCTOR (arg_type)) { + arg = force_rvalue (arg, complain); if (complain & tf_warning) warning (OPT_Wconditionally_supported, "passing objects of non-trivially-copyable " *************** convert_arg_to_ellipsis (tree arg, tsubs *** 7146,7151 **** --- 7153,7163 ---- arg_type); return cp_build_addr_expr (arg, complain); } + /* Build up a real lvalue-to-rvalue conversion in case the + copy constructor is trivial but not callable. */ + else if (CLASS_TYPE_P (arg_type)) + force_rvalue (arg, complain); + } return arg; *************** build_over_call (struct z_candidate *can *** 7658,7665 **** } /* N3276 magic doesn't apply to nested calls. */ ! int decltype_flag = (complain & tf_decltype); complain &= ~tf_decltype; /* Find maximum size of vector to hold converted arguments. */ parmlen = list_length (parm); --- 7670,7680 ---- } /* N3276 magic doesn't apply to nested calls. */ ! tsubst_flags_t decltype_flag = (complain & tf_decltype); complain &= ~tf_decltype; + /* No-Cleanup doesn't apply to nested calls either. */ + tsubst_flags_t no_cleanup_complain = complain; + complain &= ~tf_no_cleanup; /* Find maximum size of vector to hold converted arguments. */ parmlen = list_length (parm); *************** build_over_call (struct z_candidate *can *** 7841,7847 **** if (flags & LOOKUP_NO_CONVERSION) conv->user_conv_p = true; ! tsubst_flags_t arg_complain = complain & (~tf_no_cleanup); if (!conversion_warning) arg_complain &= ~tf_warning; --- 7856,7862 ---- if (flags & LOOKUP_NO_CONVERSION) conv->user_conv_p = true; ! tsubst_flags_t arg_complain = complain; if (!conversion_warning) arg_complain &= ~tf_warning; *************** build_over_call (struct z_candidate *can *** 8086,8092 **** else if (default_ctor_p (fn)) { if (is_dummy_object (argarray[0])) ! return force_target_expr (DECL_CONTEXT (fn), void_node, complain); else return cp_build_indirect_ref (argarray[0], RO_NULL, complain); } --- 8101,8108 ---- else if (default_ctor_p (fn)) { if (is_dummy_object (argarray[0])) ! return force_target_expr (DECL_CONTEXT (fn), void_node, ! no_cleanup_complain); else return cp_build_indirect_ref (argarray[0], RO_NULL, complain); } *************** compare_ics (conversion *ics1, conversio *** 9128,9134 **** return 0; else if (t1->kind == ck_user) { ! if (t1->cand->fn != t2->cand->fn) return 0; } else --- 9144,9152 ---- return 0; else if (t1->kind == ck_user) { ! tree f1 = t1->cand ? t1->cand->fn : t1->type; ! tree f2 = t2->cand ? t2->cand->fn : t2->type; ! if (f1 != f2) return 0; } else diff -Nrcpad gcc-7.2.0/gcc/cp/constexpr.c gcc-7.3.0/gcc/cp/constexpr.c *** gcc-7.2.0/gcc/cp/constexpr.c Mon Jun 19 20:56:02 2017 --- gcc-7.3.0/gcc/cp/constexpr.c Tue Dec 19 10:02:48 2017 *************** cxx_eval_call_expression (const constexp *** 1558,1564 **** tree result = NULL_TREE; constexpr_call *entry = NULL; ! if (depth_ok && !non_constant_args) { new_call.hash = iterative_hash_template_arg (new_call.bindings, constexpr_fundef_hasher::hash (new_call.fundef)); --- 1558,1564 ---- tree result = NULL_TREE; constexpr_call *entry = NULL; ! if (depth_ok && !non_constant_args && ctx->strict) { new_call.hash = iterative_hash_template_arg (new_call.bindings, constexpr_fundef_hasher::hash (new_call.fundef)); *************** cxx_eval_conditional_expression (const c *** 2044,2049 **** --- 2044,2088 ---- jump_target); } + /* Subroutine of cxx_eval_constant_expression. + Attempt to evaluate vector condition expressions. Unlike + cxx_eval_conditional_expression, VEC_COND_EXPR acts like a normal + ternary arithmetics operation, where all 3 arguments have to be + evaluated as constants and then folding computes the result from + them. */ + + static tree + cxx_eval_vector_conditional_expression (const constexpr_ctx *ctx, tree t, + bool *non_constant_p, bool *overflow_p) + { + tree arg1 = cxx_eval_constant_expression (ctx, TREE_OPERAND (t, 0), + /*lval*/false, + non_constant_p, overflow_p); + VERIFY_CONSTANT (arg1); + tree arg2 = cxx_eval_constant_expression (ctx, TREE_OPERAND (t, 1), + /*lval*/false, + non_constant_p, overflow_p); + VERIFY_CONSTANT (arg2); + tree arg3 = cxx_eval_constant_expression (ctx, TREE_OPERAND (t, 2), + /*lval*/false, + non_constant_p, overflow_p); + VERIFY_CONSTANT (arg3); + location_t loc = EXPR_LOCATION (t); + tree type = TREE_TYPE (t); + tree r = fold_ternary_loc (loc, VEC_COND_EXPR, type, arg1, arg2, arg3); + if (r == NULL_TREE) + { + if (arg1 == TREE_OPERAND (t, 0) + && arg2 == TREE_OPERAND (t, 1) + && arg3 == TREE_OPERAND (t, 2)) + r = t; + else + r = build3_loc (loc, VEC_COND_EXPR, type, arg1, arg2, arg3); + } + VERIFY_CONSTANT (r); + return r; + } + /* Returns less than, equal to, or greater than zero if KEY is found to be less than, to match, or to be greater than the constructor_elt's INDEX. */ *************** cxx_eval_constant_expression (const cons *** 4361,4372 **** jump_target); break; } - /* FALLTHRU */ - case VEC_COND_EXPR: r = cxx_eval_conditional_expression (ctx, t, lval, non_constant_p, overflow_p, jump_target); break; case CONSTRUCTOR: if (TREE_CONSTANT (t)) --- 4400,4413 ---- jump_target); break; } r = cxx_eval_conditional_expression (ctx, t, lval, non_constant_p, overflow_p, jump_target); break; + case VEC_COND_EXPR: + r = cxx_eval_vector_conditional_expression (ctx, t, non_constant_p, + overflow_p); + break; case CONSTRUCTOR: if (TREE_CONSTANT (t)) diff -Nrcpad gcc-7.2.0/gcc/cp/cp-gimplify.c gcc-7.3.0/gcc/cp/cp-gimplify.c *** gcc-7.2.0/gcc/cp/cp-gimplify.c Wed Jun 21 22:15:55 2017 --- gcc-7.3.0/gcc/cp/cp-gimplify.c Fri Dec 15 22:06:16 2017 *************** omp_var_to_track (tree decl) *** 924,929 **** --- 924,931 ---- tree type = TREE_TYPE (decl); if (is_invisiref_parm (decl)) type = TREE_TYPE (type); + else if (TREE_CODE (type) == REFERENCE_TYPE) + type = TREE_TYPE (type); while (TREE_CODE (type) == ARRAY_TYPE) type = TREE_TYPE (type); if (type == error_mark_node || !CLASS_TYPE_P (type)) *************** omp_cxx_notice_variable (struct cp_gener *** 976,981 **** --- 978,985 ---- tree type = TREE_TYPE (decl); if (is_invisiref_parm (decl)) type = TREE_TYPE (type); + else if (TREE_CODE (type) == REFERENCE_TYPE) + type = TREE_TYPE (type); while (TREE_CODE (type) == ARRAY_TYPE) type = TREE_TYPE (type); get_copy_ctor (type, tf_none); *************** cp_fold (tree x) *** 2274,2286 **** case VEC_COND_EXPR: case COND_EXPR: - - /* Don't bother folding a void condition, since it can't produce a - constant value. Also, some statement-level uses of COND_EXPR leave - one of the branches NULL, so folding would crash. */ - if (VOID_TYPE_P (TREE_TYPE (x))) - return x; - loc = EXPR_LOCATION (x); op0 = cp_fold_rvalue (TREE_OPERAND (x, 0)); op1 = cp_fold (TREE_OPERAND (x, 1)); --- 2278,2283 ---- *************** cp_fold (tree x) *** 2294,2299 **** --- 2291,2319 ---- if (!VOID_TYPE_P (TREE_TYPE (op2))) op2 = cp_truthvalue_conversion (op2); } + else if (VOID_TYPE_P (TREE_TYPE (x))) + { + if (TREE_CODE (op0) == INTEGER_CST) + { + /* If the condition is constant, fold can fold away + the COND_EXPR. If some statement-level uses of COND_EXPR + have one of the branches NULL, avoid folding crash. */ + if (!op1) + op1 = build_empty_stmt (loc); + if (!op2) + op2 = build_empty_stmt (loc); + } + else + { + /* Otherwise, don't bother folding a void condition, since + it can't produce a constant value. */ + if (op0 != TREE_OPERAND (x, 0) + || op1 != TREE_OPERAND (x, 1) + || op2 != TREE_OPERAND (x, 2)) + x = build3_loc (loc, code, TREE_TYPE (x), op0, op1, op2); + break; + } + } if (op0 != TREE_OPERAND (x, 0) || op1 != TREE_OPERAND (x, 1) *************** cp_fold (tree x) *** 2311,2319 **** /* A COND_EXPR might have incompatible types in branches if one or both arms are bitfields. If folding exposed such a branch, fix it up. */ ! if (TREE_CODE (x) != code) ! if (tree type = is_bitfield_expr_with_lowered_type (x)) ! x = fold_convert (type, x); break; --- 2331,2339 ---- /* A COND_EXPR might have incompatible types in branches if one or both arms are bitfields. If folding exposed such a branch, fix it up. */ ! if (TREE_CODE (x) != code ! && !useless_type_conversion_p (TREE_TYPE (org_x), TREE_TYPE (x))) ! x = fold_convert (TREE_TYPE (org_x), x); break; diff -Nrcpad gcc-7.2.0/gcc/cp/cp-objcp-common.c gcc-7.3.0/gcc/cp/cp-objcp-common.c *** gcc-7.2.0/gcc/cp/cp-objcp-common.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/cp/cp-objcp-common.c Fri Sep 22 20:20:40 2017 *************** cxx_types_compatible_p (tree x, tree y) *** 131,136 **** --- 131,150 ---- return same_type_ignoring_top_level_qualifiers_p (x, y); } + struct debug_type_hasher : ggc_cache_ptr_hash + { + static hashval_t hash (tree_map *m) { return tree_map_hash (m); } + static bool equal (tree_map *a, tree_map *b) { return tree_map_eq (a, b); } + + static int + keep_cache_entry (tree_map *&e) + { + return ggc_marked_p (e->base.from); + } + }; + + static GTY((cache)) hash_table *debug_type_hash; + /* Return a type to use in the debug info instead of TYPE, or NULL_TREE to keep TYPE. */ *************** tree *** 138,145 **** cp_get_debug_type (const_tree type) { if (TYPE_PTRMEMFUNC_P (type) && !typedef_variant_p (type)) ! return build_offset_type (TYPE_PTRMEMFUNC_OBJECT_TYPE (type), ! TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (type))); return NULL_TREE; } --- 152,186 ---- cp_get_debug_type (const_tree type) { if (TYPE_PTRMEMFUNC_P (type) && !typedef_variant_p (type)) ! { ! if (debug_type_hash == NULL) ! debug_type_hash = hash_table::create_ggc (512); ! ! /* We cannot simply use build_offset_type here because the function uses ! the type canonicalization hashtable, which is GC-ed, so its behavior ! depends on the actual collection points. Since we are building these ! types on the fly for the debug info only, they would not be attached ! to any GC root and always be swept, so we would make the contents of ! the debug info depend on the collection points. */ ! struct tree_map in, *h, **slot; ! ! in.base.from = CONST_CAST_TREE (type); ! in.hash = htab_hash_pointer (type); ! slot = debug_type_hash->find_slot_with_hash (&in, in.hash, INSERT); ! if (*slot) ! return (*slot)->to; ! ! tree t = build_offset_type (TYPE_PTRMEMFUNC_OBJECT_TYPE (type), ! TREE_TYPE (TYPE_PTRMEMFUNC_FN_TYPE (type))); ! ! h = ggc_alloc (); ! h->base.from = CONST_CAST_TREE (type); ! h->hash = htab_hash_pointer (type); ! h->to = t; ! *slot = h; ! ! return t; ! } return NULL_TREE; } diff -Nrcpad gcc-7.2.0/gcc/cp/cp-objcp-common.h gcc-7.3.0/gcc/cp/cp-objcp-common.h *** gcc-7.2.0/gcc/cp/cp-objcp-common.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/cp/cp-objcp-common.h Wed Oct 4 17:47:08 2017 *************** extern tree cp_unit_size_without_reusabl *** 94,99 **** --- 94,101 ---- #define LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE cxx_builtin_function_ext_scope #undef LANG_HOOKS_TYPE_HASH_EQ #define LANG_HOOKS_TYPE_HASH_EQ cxx_type_hash_eq + #undef LANG_HOOKS_COPY_LANG_QUALIFIERS + #define LANG_HOOKS_COPY_LANG_QUALIFIERS cxx_copy_lang_qualifiers #undef LANG_HOOKS_MISSING_NORETURN_OK_P #define LANG_HOOKS_MISSING_NORETURN_OK_P cp_missing_noreturn_ok_p #undef LANG_HOOKS_BLOCK_MAY_FALLTHRU diff -Nrcpad gcc-7.2.0/gcc/cp/cp-tree.h gcc-7.3.0/gcc/cp/cp-tree.h *** gcc-7.2.0/gcc/cp/cp-tree.h Thu Jun 29 16:46:29 2017 --- gcc-7.3.0/gcc/cp/cp-tree.h Sat Dec 16 00:40:14 2017 *************** extern void start_decl_1 (tree, bool); *** 5846,5851 **** --- 5846,5852 ---- extern bool check_array_initializer (tree, tree, tree); extern void cp_finish_decl (tree, tree, bool, tree, int); extern tree lookup_decomp_type (tree); + extern void cp_maybe_mangle_decomp (tree, tree, unsigned int); extern void cp_finish_decomp (tree, tree, unsigned int); extern int cp_complete_array_type (tree *, tree, bool); extern int cp_complete_array_type_or_error (tree *, tree, bool, tsubst_flags_t); *************** extern bool maybe_clone_body (tree); *** 6125,6131 **** /* In parser.c */ extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool); extern bool parsing_nsdmi (void); ! extern bool parsing_default_capturing_generic_lambda_in_template (void); extern void inject_this_parameter (tree, cp_cv_quals); /* in pt.c */ --- 6126,6132 ---- /* In parser.c */ extern tree cp_convert_range_for (tree, tree, tree, tree, unsigned int, bool); extern bool parsing_nsdmi (void); ! extern bool parsing_default_capturing_generic_lambda (void); extern void inject_this_parameter (tree, cp_cv_quals); /* in pt.c */ *************** extern tree convert_bitfield_to_declared *** 6703,6708 **** --- 6704,6710 ---- extern tree cp_save_expr (tree); extern bool cast_valid_in_integral_constant_expression_p (tree); extern bool cxx_type_hash_eq (const_tree, const_tree); + extern tree cxx_copy_lang_qualifiers (const_tree, const_tree); extern void cxx_print_statistics (void); extern bool maybe_warn_zero_as_null_pointer_constant (tree, location_t); diff -Nrcpad gcc-7.2.0/gcc/cp/decl.c gcc-7.3.0/gcc/cp/decl.c *** gcc-7.2.0/gcc/cp/decl.c Sat Apr 15 03:28:31 2017 --- gcc-7.3.0/gcc/cp/decl.c Sat Dec 16 00:41:10 2017 *************** check_for_uninitialized_const_var (tree *** 5579,5587 **** "uninitialized const %qD", decl); else { ! error_at (DECL_SOURCE_LOCATION (decl), ! "uninitialized variable %qD in % function", ! decl); cp_function_chain->invalid_constexpr = true; } --- 5579,5588 ---- "uninitialized const %qD", decl); else { ! if (!is_instantiation_of_constexpr (current_function_decl)) ! error_at (DECL_SOURCE_LOCATION (decl), ! "uninitialized variable %qD in % function", ! decl); cp_function_chain->invalid_constexpr = true; } *************** reshape_init (tree type, tree init, tsub *** 6099,6105 **** { tree elt = CONSTRUCTOR_ELT (init, 0)->value; if (check_narrowing (ENUM_UNDERLYING_TYPE (type), elt, complain)) ! return cp_build_c_cast (type, elt, tf_warning_or_error); else return error_mark_node; } --- 6100,6109 ---- { tree elt = CONSTRUCTOR_ELT (init, 0)->value; if (check_narrowing (ENUM_UNDERLYING_TYPE (type), elt, complain)) ! { ! warning_sentinel w (warn_useless_cast); ! return cp_build_c_cast (type, elt, tf_warning_or_error); ! } else return error_mark_node; } *************** lookup_decomp_type (tree v) *** 7371,7376 **** --- 7375,7399 ---- return *decomp_type_table->get (v); } + /* Mangle a decomposition declaration if needed. Arguments like + in cp_finish_decomp. */ + + void + cp_maybe_mangle_decomp (tree decl, tree first, unsigned int count) + { + if (!processing_template_decl + && !error_operand_p (decl) + && DECL_NAMESPACE_SCOPE_P (decl)) + { + auto_vec v; + v.safe_grow (count); + tree d = first; + for (unsigned int i = 0; i < count; i++, d = DECL_CHAIN (d)) + v[count - i - 1] = d; + SET_DECL_ASSEMBLER_NAME (decl, mangle_decomp (decl, v)); + } + } + /* Finish a decomposition declaration. DECL is the underlying declaration "e", FIRST is the head of a chain of decls for the individual identifiers chained through DECL_CHAIN in reverse order and COUNT is the number of *************** cp_finish_decomp (tree decl, tree first, *** 7440,7446 **** if (TREE_CODE (type) == REFERENCE_TYPE) { dexp = convert_from_reference (dexp); ! type = TREE_TYPE (type); } tree eltype = NULL_TREE; --- 7463,7471 ---- if (TREE_CODE (type) == REFERENCE_TYPE) { dexp = convert_from_reference (dexp); ! type = complete_type (TREE_TYPE (type)); ! if (type == error_mark_node) ! goto error_out; } tree eltype = NULL_TREE; *************** cp_finish_decomp (tree decl, tree first, *** 7461,7471 **** { cnt_mismatch: if (count > eltscnt) ! error_at (loc, "%u names provided while %qT decomposes into " ! "%wu elements", count, type, eltscnt); else ! error_at (loc, "only %u names provided while %qT decomposes into " ! "%wu elements", count, type, eltscnt); goto error_out; } eltype = TREE_TYPE (type); --- 7486,7505 ---- { cnt_mismatch: if (count > eltscnt) ! error_n (loc, count, ! "%u name provided for structured binding", ! "%u names provided for structured binding", count); else ! error_n (loc, count, ! "only %u name provided for structured binding", ! "only %u names provided for structured binding", count); ! /* Some languages have special plural rules even for large values, ! but it is periodic with period of 10, 100, 1000 etc. */ ! inform_n (loc, eltscnt > INT_MAX ! ? (eltscnt % 1000000) + 1000000 : eltscnt, ! "while %qT decomposes into %wu element", ! "while %qT decomposes into %wu elements", ! type, eltscnt); goto error_out; } eltype = TREE_TYPE (type); *************** cp_finish_decomp (tree decl, tree first, *** 7534,7539 **** --- 7568,7582 ---- "constant expression", type); goto error_out; } + if (!tree_fits_uhwi_p (tsize)) + { + error_n (loc, count, + "%u name provided for structured binding", + "%u names provided for structured binding", count); + inform (loc, "while %qT decomposes into %E elements", + type, tsize); + goto error_out; + } eltscnt = tree_to_uhwi (tsize); if (count != eltscnt) goto cnt_mismatch; *************** cp_finish_decomp (tree decl, tree first, *** 7641,7648 **** DECL_HAS_VALUE_EXPR_P (v[i]) = 1; } } - else if (DECL_NAMESPACE_SCOPE_P (decl)) - SET_DECL_ASSEMBLER_NAME (decl, mangle_decomp (decl, v)); } /* Returns a declaration for a VAR_DECL as if: --- 7684,7689 ---- diff -Nrcpad gcc-7.2.0/gcc/cp/decl2.c gcc-7.3.0/gcc/cp/decl2.c *** gcc-7.2.0/gcc/cp/decl2.c Sun Jun 18 04:54:37 2017 --- gcc-7.3.0/gcc/cp/decl2.c Fri Dec 15 22:10:40 2017 *************** grokfield (const cp_declarator *declarat *** 888,896 **** { if (init == ridpointers[(int)RID_DELETE]) { ! DECL_DELETED_FN (value) = 1; ! DECL_DECLARED_INLINE_P (value) = 1; ! DECL_INITIAL (value) = error_mark_node; } else if (init == ridpointers[(int)RID_DEFAULT]) { --- 888,905 ---- { if (init == ridpointers[(int)RID_DELETE]) { ! if (friendp && decl_defined_p (value)) ! { ! error ("redefinition of %q#D", value); ! inform (DECL_SOURCE_LOCATION (value), ! "%q#D previously defined here", value); ! } ! else ! { ! DECL_DELETED_FN (value) = 1; ! DECL_DECLARED_INLINE_P (value) = 1; ! DECL_INITIAL (value) = error_mark_node; ! } } else if (init == ridpointers[(int)RID_DEFAULT]) { diff -Nrcpad gcc-7.2.0/gcc/cp/error.c gcc-7.3.0/gcc/cp/error.c *** gcc-7.2.0/gcc/cp/error.c Tue Apr 18 09:38:55 2017 --- gcc-7.3.0/gcc/cp/error.c Fri Oct 27 20:34:22 2017 *************** dump_function_decl (cxx_pretty_printer * *** 1531,1536 **** --- 1531,1537 ---- int do_outer_scope = ! (flags & TFF_UNQUALIFIED_NAME); tree exceptions; bool constexpr_p; + tree ret = NULL_TREE; flags &= ~(TFF_UNQUALIFIED_NAME | TFF_TEMPLATE_NAME); if (TREE_CODE (t) == TEMPLATE_DECL) *************** dump_function_decl (cxx_pretty_printer * *** 1593,1599 **** && !DECL_DESTRUCTOR_P (t) && !deduction_guide_p (t)); if (show_return) { ! tree ret = fndecl_declared_return_type (t); dump_type_prefix (pp, ret, flags); } --- 1594,1600 ---- && !DECL_DESTRUCTOR_P (t) && !deduction_guide_p (t)); if (show_return) { ! ret = fndecl_declared_return_type (t); dump_type_prefix (pp, ret, flags); } *************** dump_function_decl (cxx_pretty_printer * *** 1634,1640 **** } if (show_return) ! dump_type_suffix (pp, TREE_TYPE (fntype), flags); else if (deduction_guide_p (t)) { pp_cxx_ws_string (pp, "->"); --- 1635,1641 ---- } if (show_return) ! dump_type_suffix (pp, ret, flags); else if (deduction_guide_p (t)) { pp_cxx_ws_string (pp, "->"); diff -Nrcpad gcc-7.2.0/gcc/cp/mangle.c gcc-7.3.0/gcc/cp/mangle.c *** gcc-7.2.0/gcc/cp/mangle.c Sat Jun 17 02:33:28 2017 --- gcc-7.3.0/gcc/cp/mangle.c Sat Dec 16 00:40:14 2017 *************** write_template_prefix (const tree node) *** 1247,1252 **** --- 1247,1297 ---- add_substitution (substitution); } + /* As the list of identifiers for the structured binding declaration + DECL is likely gone, try to recover the DC + E portion + from its mangled name. Return pointer to the DC and set len to + the length up to and including the terminating E. On failure + return NULL. */ + + static const char * + find_decomp_unqualified_name (tree decl, size_t *len) + { + const char *p = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); + const char *end = p + IDENTIFIER_LENGTH (DECL_ASSEMBLER_NAME (decl)); + bool nested = false; + if (strncmp (p, "_Z", 2)) + return NULL; + p += 2; + if (!strncmp (p, "St", 2)) + p += 2; + else if (*p == 'N') + { + nested = true; + ++p; + while (ISDIGIT (p[0])) + { + char *e; + long num = strtol (p, &e, 10); + if (num >= 1 && num < end - e) + p = e + num; + else + break; + } + } + if (strncmp (p, "DC", 2)) + return NULL; + if (nested) + { + if (end[-1] != 'E') + return NULL; + --end; + } + if (end[-1] != 'E') + return NULL; + *len = end - p; + return p; + } + /* We don't need to handle thunks, vtables, or VTTs here. Those are mangled through special entry points. *************** write_unqualified_name (tree decl) *** 1316,1322 **** { found = true; gcc_assert (DECL_ASSEMBLER_NAME_SET_P (decl)); ! write_source_name (DECL_ASSEMBLER_NAME (decl)); } else if (DECL_DECLARES_FUNCTION_P (decl)) { --- 1361,1377 ---- { found = true; gcc_assert (DECL_ASSEMBLER_NAME_SET_P (decl)); ! const char *decomp_str = NULL; ! size_t decomp_len = 0; ! if (VAR_P (decl) ! && DECL_DECOMPOSITION_P (decl) ! && DECL_NAME (decl) == NULL_TREE ! && DECL_NAMESPACE_SCOPE_P (decl)) ! decomp_str = find_decomp_unqualified_name (decl, &decomp_len); ! if (decomp_str) ! write_chars (decomp_str, decomp_len); ! else ! write_source_name (DECL_ASSEMBLER_NAME (decl)); } else if (DECL_DECLARES_FUNCTION_P (decl)) { diff -Nrcpad gcc-7.2.0/gcc/cp/parser.c gcc-7.3.0/gcc/cp/parser.c *** gcc-7.2.0/gcc/cp/parser.c Mon Jul 17 19:39:23 2017 --- gcc-7.3.0/gcc/cp/parser.c Sat Dec 16 00:40:14 2017 *************** cp_convert_range_for (tree statement, tr *** 11735,11740 **** --- 11735,11743 ---- tf_warning_or_error); finish_for_expr (expression, statement); + if (VAR_P (range_decl) && DECL_DECOMPOSITION_P (range_decl)) + cp_maybe_mangle_decomp (range_decl, decomp_first_name, decomp_cnt); + /* The declaration is initialized with *__begin inside the loop body. */ cp_finish_decl (range_decl, build_x_indirect_ref (input_location, begin, RO_NULL, *************** cp_parser_decomposition_declaration (cp_ *** 13048,13054 **** if (initializer == NULL_TREE || (TREE_CODE (initializer) == TREE_LIST && TREE_CHAIN (initializer)) ! || (TREE_CODE (initializer) == CONSTRUCTOR && CONSTRUCTOR_NELTS (initializer) != 1)) { error_at (loc, "invalid initializer for structured binding " --- 13051,13058 ---- if (initializer == NULL_TREE || (TREE_CODE (initializer) == TREE_LIST && TREE_CHAIN (initializer)) ! || (is_direct_init ! && BRACE_ENCLOSED_INITIALIZER_P (initializer) && CONSTRUCTOR_NELTS (initializer) != 1)) { error_at (loc, "invalid initializer for structured binding " *************** cp_parser_decomposition_declaration (cp_ *** 13058,13063 **** --- 13062,13068 ---- if (decl != error_mark_node) { + cp_maybe_mangle_decomp (decl, prev, v.length ()); cp_finish_decl (decl, initializer, non_constant_p, NULL_TREE, is_direct_init ? LOOKUP_NORMAL : LOOKUP_IMPLICIT); cp_finish_decomp (decl, prev, v.length ()); *************** parsing_nsdmi (void) *** 20486,20492 **** which we ultimately want to defer to instantiation time. */ bool ! parsing_default_capturing_generic_lambda_in_template (void) { if (!processing_template_decl || !current_class_type) return false; --- 20491,20497 ---- which we ultimately want to defer to instantiation time. */ bool ! parsing_default_capturing_generic_lambda (void) { if (!processing_template_decl || !current_class_type) return false; *************** parsing_default_capturing_generic_lambda *** 20499,20510 **** if (!callop) return false; ! return (DECL_TEMPLATE_INFO (callop) ! && (DECL_TEMPLATE_RESULT (DECL_TI_TEMPLATE (callop)) == callop) ! && ((current_nonlambda_class_type () ! && CLASSTYPE_TEMPLATE_INFO (current_nonlambda_class_type ())) ! || ((current_nonlambda_function () ! && DECL_TEMPLATE_INFO (current_nonlambda_function ()))))); } /* Parse a late-specified return type, if any. This is not a separate --- 20504,20510 ---- if (!callop) return false; ! return generic_lambda_fn_p (callop); } /* Parse a late-specified return type, if any. This is not a separate *************** cp_parser_omp_declare_reduction (cp_pars *** 37258,37264 **** initializer-clause[opt] new-line #pragma omp declare target new-line */ ! static void cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok, enum pragma_context context) { --- 37258,37264 ---- initializer-clause[opt] new-line #pragma omp declare target new-line */ ! static bool cp_parser_omp_declare (cp_parser *parser, cp_token *pragma_tok, enum pragma_context context) { *************** cp_parser_omp_declare (cp_parser *parser *** 37272,37278 **** cp_lexer_consume_token (parser->lexer); cp_parser_omp_declare_simd (parser, pragma_tok, context); ! return; } cp_ensure_no_omp_declare_simd (parser); if (strcmp (p, "reduction") == 0) --- 37272,37278 ---- cp_lexer_consume_token (parser->lexer); cp_parser_omp_declare_simd (parser, pragma_tok, context); ! return true; } cp_ensure_no_omp_declare_simd (parser); if (strcmp (p, "reduction") == 0) *************** cp_parser_omp_declare (cp_parser *parser *** 37280,37302 **** cp_lexer_consume_token (parser->lexer); cp_parser_omp_declare_reduction (parser, pragma_tok, context); ! return; } if (!flag_openmp) /* flag_openmp_simd */ { cp_parser_skip_to_pragma_eol (parser, pragma_tok); ! return; } if (strcmp (p, "target") == 0) { cp_lexer_consume_token (parser->lexer); cp_parser_omp_declare_target (parser, pragma_tok); ! return; } } cp_parser_error (parser, "expected % or % " "or %"); cp_parser_require_pragma_eol (parser, pragma_tok); } /* OpenMP 4.5: --- 37280,37303 ---- cp_lexer_consume_token (parser->lexer); cp_parser_omp_declare_reduction (parser, pragma_tok, context); ! return false; } if (!flag_openmp) /* flag_openmp_simd */ { cp_parser_skip_to_pragma_eol (parser, pragma_tok); ! return false; } if (strcmp (p, "target") == 0) { cp_lexer_consume_token (parser->lexer); cp_parser_omp_declare_target (parser, pragma_tok); ! return false; } } cp_parser_error (parser, "expected % or % " "or %"); cp_parser_require_pragma_eol (parser, pragma_tok); + return false; } /* OpenMP 4.5: *************** cp_parser_pragma (cp_parser *parser, enu *** 38216,38223 **** return false; case PRAGMA_OMP_DECLARE: ! cp_parser_omp_declare (parser, pragma_tok, context); ! return false; case PRAGMA_OACC_DECLARE: cp_parser_oacc_declare (parser, pragma_tok); --- 38217,38223 ---- return false; case PRAGMA_OMP_DECLARE: ! return cp_parser_omp_declare (parser, pragma_tok, context); case PRAGMA_OACC_DECLARE: cp_parser_oacc_declare (parser, pragma_tok); diff -Nrcpad gcc-7.2.0/gcc/cp/pt.c gcc-7.3.0/gcc/cp/pt.c *** gcc-7.2.0/gcc/cp/pt.c Wed Aug 9 20:18:59 2017 --- gcc-7.3.0/gcc/cp/pt.c Wed Jan 17 18:08:05 2018 *************** convert_nontype_argument (tree type, tre *** 6523,6529 **** return NULL_TREE; /* else cxx_constant_value complained but gave us a real constant, so go ahead. */ ! gcc_assert (TREE_CODE (expr) == INTEGER_CST); } else return NULL_TREE; --- 6523,6542 ---- return NULL_TREE; /* else cxx_constant_value complained but gave us a real constant, so go ahead. */ ! if (TREE_CODE (expr) != INTEGER_CST) ! { ! /* Some assemble time constant expressions like ! (intptr_t)&&lab1 - (intptr_t)&&lab2 or ! 4 + (intptr_t)&&var satisfy reduced_constant_expression_p ! as we can emit them into .rodata initializers of ! variables, yet they can't fold into an INTEGER_CST at ! compile time. Refuse them here. */ ! gcc_checking_assert (reduced_constant_expression_p (expr)); ! location_t loc = EXPR_LOC_OR_LOC (expr, input_location); ! error_at (loc, "template argument %qE for type %qT not " ! "a constant integer", expr, type); ! return NULL_TREE; ! } } else return NULL_TREE; *************** convert_nontype_argument (tree type, tre *** 6849,6855 **** } else if (NULLPTR_TYPE_P (type)) { ! if (expr != nullptr_node) { if (complain & tf_error) error ("%qE is not a valid template argument for type %qT " --- 6862,6868 ---- } else if (NULLPTR_TYPE_P (type)) { ! if (!NULLPTR_TYPE_P (TREE_TYPE (expr))) { if (complain & tf_error) error ("%qE is not a valid template argument for type %qT " *************** tsubst_decl (tree t, tree args, tsubst_f *** 12896,12902 **** && VAR_HAD_UNKNOWN_BOUND (t) && type != error_mark_node) type = strip_array_domain (type); ! type = tsubst (type, args, complain, in_decl); } if (VAR_P (r)) { --- 12909,12925 ---- && VAR_HAD_UNKNOWN_BOUND (t) && type != error_mark_node) type = strip_array_domain (type); ! tree sub_args = args; ! if (tree auto_node = type_uses_auto (type)) ! { ! /* Mask off any template args past the variable's context so we ! don't replace the auto with an unrelated argument. */ ! int nouter = TEMPLATE_TYPE_LEVEL (auto_node) - 1; ! int extra = TMPL_ARGS_DEPTH (args) - nouter; ! if (extra > 0) ! sub_args = strip_innermost_template_args (args, extra); ! } ! type = tsubst (type, sub_args, complain, in_decl); } if (VAR_P (r)) { *************** tsubst_copy (tree t, tree args, tsubst_f *** 14687,14692 **** --- 14710,14719 ---- DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (r) = TREE_CONSTANT (r) = true; DECL_INITIAL (r) = init; + if (tree auto_node = type_uses_auto (TREE_TYPE (r))) + TREE_TYPE (r) + = do_auto_deduction (TREE_TYPE (r), init, auto_node, + complain, adc_variable_type); } gcc_assert (cp_unevaluated_operand || TREE_STATIC (r) || decl_constant_var_p (r) *************** tsubst_expr (tree t, tree args, tsubst_f *** 15909,15927 **** if (VAR_P (decl)) const_init = (DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (pattern_decl)); - cp_finish_decl (decl, init, const_init, NULL_TREE, 0); if (VAR_P (decl) && DECL_DECOMPOSITION_P (decl) && TREE_TYPE (pattern_decl) != error_mark_node) { unsigned int cnt; tree first; ! decl = tsubst_decomp_names (decl, pattern_decl, args, ! complain, in_decl, &first, ! &cnt); ! if (decl != error_mark_node) ! cp_finish_decomp (decl, first, cnt); } } } } --- 15936,15958 ---- if (VAR_P (decl)) const_init = (DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P (pattern_decl)); if (VAR_P (decl) && DECL_DECOMPOSITION_P (decl) && TREE_TYPE (pattern_decl) != error_mark_node) { unsigned int cnt; tree first; ! tree ndecl ! = tsubst_decomp_names (decl, pattern_decl, args, ! complain, in_decl, &first, &cnt); ! if (ndecl != error_mark_node) ! cp_maybe_mangle_decomp (ndecl, first, cnt); ! cp_finish_decl (decl, init, const_init, NULL_TREE, 0); ! if (ndecl != error_mark_node) ! cp_finish_decomp (ndecl, first, cnt); } + else + cp_finish_decl (decl, init, const_init, NULL_TREE, 0); } } } *************** tsubst_copy_and_build (tree t, *** 16773,16780 **** /* A type conversion to reference type will be enclosed in such an indirect ref, but the substitution of the cast will have also added such an indirect ref. */ ! if (TREE_CODE (TREE_TYPE (r)) == REFERENCE_TYPE) ! r = convert_from_reference (r); } else r = build_x_indirect_ref (input_location, r, RO_UNARY_STAR, --- 16804,16810 ---- /* A type conversion to reference type will be enclosed in such an indirect ref, but the substitution of the cast will have also added such an indirect ref. */ ! r = convert_from_reference (r); } else r = build_x_indirect_ref (input_location, r, RO_UNARY_STAR, *************** unify_pack_expansion (tree tparms, tree *** 20038,20043 **** --- 20068,20074 ---- /* Add in any args remembered from an earlier partial instantiation. */ targs = add_to_template_args (PACK_EXPANSION_EXTRA_ARGS (parm), targs); + int levels = TMPL_ARGS_DEPTH (targs); packed_args = expand_template_argument_pack (packed_args); *************** unify_pack_expansion (tree tparms, tree *** 20053,20058 **** --- 20084,20091 ---- /* Determine the index and level of this parameter pack. */ template_parm_level_and_index (parm_pack, &level, &idx); + if (level < levels) + continue; /* Keep track of the parameter packs and their corresponding argument packs. */ *************** unify (tree tparms, tree targs, tree par *** 20656,20662 **** --- 20689,20697 ---- template-parameter exactly, except that a template-argument deduced from an array bound may be of any integral type. The non-type parameter might use already deduced type parameters. */ + ++processing_template_decl; tparm = tsubst (TREE_TYPE (parm), targs, 0, NULL_TREE); + --processing_template_decl; if (tree a = type_uses_auto (tparm)) { tparm = do_auto_deduction (tparm, arg, a, complain, adc_unify); diff -Nrcpad gcc-7.2.0/gcc/cp/semantics.c gcc-7.3.0/gcc/cp/semantics.c *** gcc-7.2.0/gcc/cp/semantics.c Wed Jun 21 22:22:05 2017 --- gcc-7.3.0/gcc/cp/semantics.c Mon Sep 18 18:37:16 2017 *************** finish_qualified_id_expr (tree qualifyin *** 2008,2014 **** qualifying_class); pop_deferring_access_checks (); } ! else if (BASELINK_P (expr) && !processing_template_decl) { /* See if any of the functions are non-static members. */ /* If so, the expression may be relative to 'this'. */ --- 2008,2016 ---- qualifying_class); pop_deferring_access_checks (); } ! else if (BASELINK_P (expr) ! && (!processing_template_decl ! || parsing_default_capturing_generic_lambda ())) { /* See if any of the functions are non-static members. */ /* If so, the expression may be relative to 'this'. */ *************** finish_id_expression (tree id_expression *** 3584,3595 **** : CP_ID_KIND_UNQUALIFIED))); /* If the name was dependent on a template parameter and we're not in a ! default capturing generic lambda within a template, we will resolve the name at instantiation time. FIXME: For lambdas, we should defer building the closure type until instantiation time then we won't need the extra test here. */ if (dependent_p ! && !parsing_default_capturing_generic_lambda_in_template ()) { if (DECL_P (decl) && any_dependent_type_attributes_p (DECL_ATTRIBUTES (decl))) --- 3586,3597 ---- : CP_ID_KIND_UNQUALIFIED))); /* If the name was dependent on a template parameter and we're not in a ! default capturing generic lambda, we will resolve the name at instantiation time. FIXME: For lambdas, we should defer building the closure type until instantiation time then we won't need the extra test here. */ if (dependent_p ! && !parsing_default_capturing_generic_lambda ()) { if (DECL_P (decl) && any_dependent_type_attributes_p (DECL_ATTRIBUTES (decl))) diff -Nrcpad gcc-7.2.0/gcc/cp/tree.c gcc-7.3.0/gcc/cp/tree.c *** gcc-7.2.0/gcc/cp/tree.c Thu Jun 29 19:44:58 2017 --- gcc-7.3.0/gcc/cp/tree.c Tue Jan 2 18:07:41 2018 *************** struct replace_placeholders_t *** 2767,2772 **** --- 2767,2773 ---- { tree obj; /* The object to be substituted for a PLACEHOLDER_EXPR. */ bool seen; /* Whether we've encountered a PLACEHOLDER_EXPR. */ + hash_set *pset; /* To avoid walking same trees multiple times. */ }; /* Like substitute_placeholder_in_expr, but handle C++ tree codes and *************** replace_placeholders_r (tree* t, int* wa *** 2789,2796 **** case PLACEHOLDER_EXPR: { tree x = obj; ! for (; !(same_type_ignoring_top_level_qualifiers_p ! (TREE_TYPE (*t), TREE_TYPE (x))); x = TREE_OPERAND (x, 0)) gcc_assert (TREE_CODE (x) == COMPONENT_REF); *t = x; --- 2790,2797 ---- case PLACEHOLDER_EXPR: { tree x = obj; ! for (; !same_type_ignoring_top_level_qualifiers_p (TREE_TYPE (*t), ! TREE_TYPE (x)); x = TREE_OPERAND (x, 0)) gcc_assert (TREE_CODE (x) == COMPONENT_REF); *t = x; *************** replace_placeholders_r (tree* t, int* wa *** 2803,2808 **** --- 2804,2814 ---- { constructor_elt *ce; vec *v = CONSTRUCTOR_ELTS (*t); + if (d->pset->add (*t)) + { + *walk_subtrees = false; + return NULL_TREE; + } for (unsigned i = 0; vec_safe_iterate (v, i, &ce); ++i) { tree *valp = &ce->value; *************** replace_placeholders_r (tree* t, int* wa *** 2822,2829 **** valp = &TARGET_EXPR_INITIAL (*valp); } d->obj = subob; ! cp_walk_tree (valp, replace_placeholders_r, ! data_, NULL); d->obj = obj; } *walk_subtrees = false; --- 2828,2834 ---- valp = &TARGET_EXPR_INITIAL (*valp); } d->obj = subob; ! cp_walk_tree (valp, replace_placeholders_r, data_, NULL); d->obj = obj; } *walk_subtrees = false; *************** replace_placeholders_r (tree* t, int* wa *** 2831,2836 **** --- 2836,2843 ---- } default: + if (d->pset->add (*t)) + *walk_subtrees = false; break; } *************** replace_placeholders (tree exp, tree obj *** 2855,2861 **** return exp; tree *tp = &exp; ! replace_placeholders_t data = { obj, false }; if (TREE_CODE (exp) == TARGET_EXPR) tp = &TARGET_EXPR_INITIAL (exp); cp_walk_tree (tp, replace_placeholders_r, &data, NULL); --- 2862,2869 ---- return exp; tree *tp = &exp; ! hash_set pset; ! replace_placeholders_t data = { obj, false, &pset }; if (TREE_CODE (exp) == TARGET_EXPR) tp = &TARGET_EXPR_INITIAL (exp); cp_walk_tree (tp, replace_placeholders_r, &data, NULL); *************** cxx_type_hash_eq (const_tree typea, cons *** 4217,4222 **** --- 4225,4245 ---- TYPE_RAISES_EXCEPTIONS (typeb), ce_exact); } + /* Copy the language-specific type variant modifiers from TYPEB to TYPEA. For + C++, these are the exception-specifier and ref-qualifier. */ + + tree + cxx_copy_lang_qualifiers (const_tree typea, const_tree typeb) + { + tree type = CONST_CAST_TREE (typea); + if (TREE_CODE (type) == FUNCTION_TYPE || TREE_CODE (type) == METHOD_TYPE) + { + type = build_exception_variant (type, TYPE_RAISES_EXCEPTIONS (typeb)); + type = build_ref_qualified_type (type, type_memfn_rqual (typeb)); + } + return type; + } + /* Apply FUNC to all language-specific sub-trees of TP in a pre-order traversal. Called from walk_tree. */ diff -Nrcpad gcc-7.2.0/gcc/cp/typeck.c gcc-7.3.0/gcc/cp/typeck.c *** gcc-7.2.0/gcc/cp/typeck.c Sat Jun 17 02:33:43 2017 --- gcc-7.3.0/gcc/cp/typeck.c Fri Oct 6 18:00:54 2017 *************** cp_build_unary_op (enum tree_code code, *** 5927,5932 **** --- 5927,5933 ---- { /* Warn if the expression has boolean value. */ if (TREE_CODE (TREE_TYPE (arg)) == BOOLEAN_TYPE + && (complain & tf_warning) && warning_at (location, OPT_Wbool_operation, "%<~%> on an expression of type bool")) inform (location, "did you mean to use logical not (%)?"); *************** convert_for_assignment (tree type, tree *** 8413,8419 **** { tree elt = CONSTRUCTOR_ELT (rhs, 0)->value; if (check_narrowing (ENUM_UNDERLYING_TYPE (type), elt, complain)) ! rhs = cp_build_c_cast (type, elt, complain); else rhs = error_mark_node; } --- 8414,8423 ---- { tree elt = CONSTRUCTOR_ELT (rhs, 0)->value; if (check_narrowing (ENUM_UNDERLYING_TYPE (type), elt, complain)) ! { ! warning_sentinel w (warn_useless_cast); ! rhs = cp_build_c_cast (type, elt, complain); ! } else rhs = error_mark_node; } diff -Nrcpad gcc-7.2.0/gcc/doc/cpp.1 gcc-7.3.0/gcc/doc/cpp.1 *** gcc-7.2.0/gcc/doc/cpp.1 Mon Aug 14 08:05:17 2017 --- gcc-7.3.0/gcc/doc/cpp.1 Thu Jan 25 08:19:42 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "CPP 1" ! .TH CPP 1 "2018-01-25" "gcc-7.3.0" "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-7.2.0/gcc/doc/cpp.info gcc-7.3.0/gcc/doc/cpp.info *** gcc-7.2.0/gcc/doc/cpp.info Mon Aug 14 08:30:40 2017 --- gcc-7.3.0/gcc/doc/cpp.info Thu Jan 25 08:41:37 2018 *************** *** 1,5 **** This is doc/cpp.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/doc/cpp.texi. Copyright (C) 1987-2017 Free Software Foundation, Inc. --- 1,5 ---- This is doc/cpp.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/doc/cpp.texi. Copyright (C) 1987-2017 Free Software Foundation, Inc. diff -Nrcpad gcc-7.2.0/gcc/doc/cppinternals.info gcc-7.3.0/gcc/doc/cppinternals.info *** gcc-7.2.0/gcc/doc/cppinternals.info Mon Aug 14 08:30:40 2017 --- gcc-7.3.0/gcc/doc/cppinternals.info Thu Jan 25 08:41:37 2018 *************** *** 1,5 **** This is doc/cppinternals.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.2.0/gcc-7.2.0/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 ! /space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/doc/cppinternals.texi. INFO-DIR-SECTION Software development START-INFO-DIR-ENTRY diff -Nrcpad gcc-7.2.0/gcc/doc/extend.texi gcc-7.3.0/gcc/doc/extend.texi *** gcc-7.2.0/gcc/doc/extend.texi Wed Jul 19 20:31:53 2017 --- gcc-7.3.0/gcc/doc/extend.texi Tue Jan 16 11:19:51 2018 *************** Specify which floating-point unit to use *** 5540,5545 **** --- 5540,5564 ---- @code{target("fpmath=sse,387")} option as @code{target("fpmath=sse+387")} because the comma would separate different options. + + @item indirect_branch("@var{choice}") + @cindex @code{indirect_branch} function attribute, x86 + On x86 targets, the @code{indirect_branch} attribute causes the compiler + to convert indirect call and jump with @var{choice}. @samp{keep} + keeps indirect call and jump unmodified. @samp{thunk} converts indirect + call and jump to call and return thunk. @samp{thunk-inline} converts + indirect call and jump to inlined call and return thunk. + @samp{thunk-extern} converts indirect call and jump to external call + and return thunk provided in a separate object file. + + @item function_return("@var{choice}") + @cindex @code{function_return} function attribute, x86 + On x86 targets, the @code{function_return} attribute causes the compiler + to convert function return with @var{choice}. @samp{keep} keeps function + return unmodified. @samp{thunk} converts function return to call and + return thunk. @samp{thunk-inline} converts function return to inlined + call and return thunk. @samp{thunk-extern} converts function return to + external call and return thunk provided in a separate object file. @end table On the x86, the inliner does not inline a *************** The table below shows the list of suppor *** 8759,8764 **** --- 8778,8786 ---- @tab @code{2} @end multitable + @code{V} is a special modifier which prints the name of the full integer + register without @code{%}. + @anchor{x86floatingpointasmoperands} @subsubsection x86 Floating-Point @code{asm} Operands *************** For mixed operations between a scalar @c *** 9473,9478 **** --- 9495,9501 ---- @code{s && v} is equivalent to @code{s?v!=0:0} (the evaluation is short-circuit) and @code{v && s} is equivalent to @code{v!=0 & (s?-1:0)}. + @findex __builtin_shuffle Vector shuffling is available using functions @code{__builtin_shuffle (vec, mask)} and @code{__builtin_shuffle (vec0, vec1, mask)}. *************** AMD Family 15h Bulldozer version 4. *** 19476,19483 **** @item btver2 AMD Family 16h CPU. ! @item znver1 AMD Family 17h CPU. @end table Here is an example: --- 19499,19509 ---- @item btver2 AMD Family 16h CPU. ! @item amdfam17h AMD Family 17h CPU. + + @item znver1 + AMD Family 17h Zen version 1. @end table Here is an example: *************** unsigned long long _pext_u64 (unsigned l *** 20635,20641 **** The following built-in functions are available when @option{-mlzcnt} is used. All of them generate the machine instruction that is part of the name. @smallexample ! unsigned short __builtin_ia32_lzcnt_16(unsigned short); unsigned int __builtin_ia32_lzcnt_u32(unsigned int); unsigned long long __builtin_ia32_lzcnt_u64 (unsigned long long); @end smallexample --- 20661,20667 ---- The following built-in functions are available when @option{-mlzcnt} is used. All of them generate the machine instruction that is part of the name. @smallexample ! unsigned short __builtin_ia32_lzcnt_u16(unsigned short); unsigned int __builtin_ia32_lzcnt_u32(unsigned int); unsigned long long __builtin_ia32_lzcnt_u64 (unsigned long long); @end smallexample diff -Nrcpad gcc-7.2.0/gcc/doc/fsf-funding.7 gcc-7.3.0/gcc/doc/fsf-funding.7 *** gcc-7.2.0/gcc/doc/fsf-funding.7 Mon Aug 14 08:05:17 2017 --- gcc-7.3.0/gcc/doc/fsf-funding.7 Thu Jan 25 08:19:42 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "FSF-FUNDING 7" ! .TH FSF-FUNDING 7 "2018-01-25" "gcc-7.3.0" "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-7.2.0/gcc/doc/g++.1 gcc-7.3.0/gcc/doc/g++.1 *** gcc-7.2.0/gcc/doc/g++.1 Mon Aug 14 08:30:43 2017 --- gcc-7.3.0/gcc/doc/g++.1 Thu Jan 25 08:41:41 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2018-01-25" "gcc-7.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** See \s-1RS/6000\s0 and PowerPC Options. *** 978,985 **** .Sp \&\fIRISC-V Options\fR \&\fB\-mbranch\-cost=\fR\fIN\-instruction\fR ! \&\fB\-mmemcpy \-mno\-memcpy ! \&\-mplt \-mno\-plt \&\-mabi=\fR\fIABI-string\fR \&\fB\-mfdiv \-mno\-fdiv \&\-mdiv \-mno\-div --- 978,984 ---- .Sp \&\fIRISC-V Options\fR \&\fB\-mbranch\-cost=\fR\fIN\-instruction\fR ! \&\fB\-mplt \-mno\-plt \&\-mabi=\fR\fIABI-string\fR \&\fB\-mfdiv \-mno\-fdiv \&\-mdiv \-mno\-div *************** See \s-1RS/6000\s0 and PowerPC Options. *** 987,994 **** \&\fB\-mtune=\fR\fIprocessor-string\fR \&\fB\-msmall\-data\-limit=\fR\fIN\-bytes\fR \&\fB\-msave\-restore \-mno\-save\-restore ! \&\-mcmodel=\fR\fIcode-model\fR ! \&\fB\-mexplicit\-relocs \-mno\-explicit\-relocs\fR .Sp \&\fI\s-1RL78\s0 Options\fR \&\fB\-msim \-mmul=none \-mmul=g13 \-mmul=g14 \-mallregs --- 986,994 ---- \&\fB\-mtune=\fR\fIprocessor-string\fR \&\fB\-msmall\-data\-limit=\fR\fIN\-bytes\fR \&\fB\-msave\-restore \-mno\-save\-restore ! \&\-mstrict\-align \-mno\-strict\-align ! \&\-mcmodel=medlow \-mcmodel=medany ! \&\-mexplicit\-relocs \-mno\-explicit\-relocs\fR .Sp \&\fI\s-1RL78\s0 Options\fR \&\fB\-msim \-mmul=none \-mmul=g13 \-mmul=g14 \-mallregs *************** See \s-1RS/6000\s0 and PowerPC Options. *** 1222,1228 **** \&\fB\-msse2avx \-mfentry \-mrecord\-mcount \-mnop\-mcount \-m8bit\-idiv \&\-mavx256\-split\-unaligned\-load \-mavx256\-split\-unaligned\-store \&\-malign\-data=\fR\fItype\fR \fB\-mstack\-protector\-guard=\fR\fIguard\fR ! \&\fB\-mmitigate\-rop \-mgeneral\-regs\-only\fR .Sp \&\fIx86 Windows Options\fR \&\fB\-mconsole \-mcygwin \-mno\-cygwin \-mdll --- 1222,1230 ---- \&\fB\-msse2avx \-mfentry \-mrecord\-mcount \-mnop\-mcount \-m8bit\-idiv \&\-mavx256\-split\-unaligned\-load \-mavx256\-split\-unaligned\-store \&\-malign\-data=\fR\fItype\fR \fB\-mstack\-protector\-guard=\fR\fIguard\fR ! \&\fB\-mmitigate\-rop \-mgeneral\-regs\-only ! \&\-mindirect\-branch=\fR\fIchoice\fR \fB\-mfunction\-return==\fR\fIchoice\fR ! \&\fB\-mindirect\-branch\-register\fR .Sp \&\fIx86 Windows Options\fR \&\fB\-mconsole \-mcygwin \-mno\-cygwin \-mdll *************** Link your object files with \fB\-lgcov\f *** 9921,9929 **** Run the program on a representative workload to generate the arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system ! supports locking, the data files will be correctly updated. Also ! \&\f(CW\*(C`fork\*(C'\fR calls are detected and correctly handled (double counting ! will not happen). .IP "*" 4 For profile-directed optimizations, compile the source files again with the same optimization and code generation options plus --- 9923,9931 ---- Run the program on a representative workload to generate the arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system ! supports locking, the data files will be correctly updated. Unless ! a strict \s-1ISO C\s0 dialect option is in effect, \f(CW\*(C`fork\*(C'\fR calls are ! detected and correctly handled without double counting. .IP "*" 4 For profile-directed optimizations, compile the source files again with the same optimization and code generation options plus *************** These command-line options are defined f *** 19963,20002 **** .IP "\fB\-mbranch\-cost=\fR\fIn\fR" 4 .IX Item "-mbranch-cost=n" Set the cost of branches to roughly \fIn\fR instructions. - .IP "\fB\-mmemcpy\fR" 4 - .IX Item "-mmemcpy" - .PD 0 - .IP "\fB\-mno\-memcpy\fR" 4 - .IX Item "-mno-memcpy" - .PD - Don't optimize block moves. .IP "\fB\-mplt\fR" 4 .IX Item "-mplt" .PD 0 .IP "\fB\-mno\-plt\fR" 4 .IX Item "-mno-plt" .PD ! When generating \s-1PIC\s0 code, allow the use of PLTs. Ignored for non-PIC. .IP "\fB\-mabi=\fR\fIABI-string\fR" 4 .IX Item "-mabi=ABI-string" ! Specify integer and floating-point calling convention. This defaults to the ! natural calling convention: e.g. \s-1LP64\s0 for \s-1RV64I, ILP32\s0 for \s-1RV32I, LP64D\s0 for ! \&\s-1RV64G.\s0 .IP "\fB\-mfdiv\fR" 4 .IX Item "-mfdiv" .PD 0 .IP "\fB\-mno\-fdiv\fR" 4 .IX Item "-mno-fdiv" .PD ! Use hardware floating-point divide and square root instructions. This requires ! the F or D extensions for floating-point registers. .IP "\fB\-mdiv\fR" 4 .IX Item "-mdiv" .PD 0 .IP "\fB\-mno\-div\fR" 4 .IX Item "-mno-div" .PD ! Use hardware instructions for integer division. This requires the M extension. .IP "\fB\-march=\fR\fIISA-string\fR" 4 .IX Item "-march=ISA-string" Generate code for given RISC-V \s-1ISA \s0(e.g. \fBrv64im\fR). \s-1ISA\s0 strings must be --- 19965,20016 ---- .IP "\fB\-mbranch\-cost=\fR\fIn\fR" 4 .IX Item "-mbranch-cost=n" Set the cost of branches to roughly \fIn\fR instructions. .IP "\fB\-mplt\fR" 4 .IX Item "-mplt" .PD 0 .IP "\fB\-mno\-plt\fR" 4 .IX Item "-mno-plt" .PD ! When generating \s-1PIC\s0 code, do or don't allow the use of PLTs. Ignored for ! non-PIC. The default is \fB\-mplt\fR. .IP "\fB\-mabi=\fR\fIABI-string\fR" 4 .IX Item "-mabi=ABI-string" ! Specify integer and floating-point calling convention. \fIABI-string\fR ! contains two parts: the size of integer types and the registers used for ! floating-point types. For example \fB\-march=rv64ifd \-mabi=lp64d\fR means that ! \&\fBlong\fR and pointers are 64\-bit (implicitly defining \fBint\fR to be ! 32\-bit), and that floating-point values up to 64 bits wide are passed in F ! registers. Contrast this with \fB\-march=rv64ifd \-mabi=lp64f\fR, which still ! allows the compiler to generate code that uses the F and D extensions but only ! allows floating-point values up to 32 bits long to be passed in registers; or ! \&\fB\-march=rv64ifd \-mabi=lp64\fR, in which no floating-point arguments will be ! passed in registers. ! .Sp ! The default for this argument is system dependent, users who want a specific ! calling convention should specify one explicitly. The valid calling ! conventions are: \fBilp32\fR, \fBilp32f\fR, \fBilp32d\fR, \fBlp64\fR, ! \&\fBlp64f\fR, and \fBlp64d\fR. Some calling conventions are impossible to ! implement on some ISAs: for example, \fB\-march=rv32if \-mabi=ilp32d\fR is ! invalid because the \s-1ABI\s0 requires 64\-bit values be passed in F registers, but F ! registers are only 32 bits wide. .IP "\fB\-mfdiv\fR" 4 .IX Item "-mfdiv" .PD 0 .IP "\fB\-mno\-fdiv\fR" 4 .IX Item "-mno-fdiv" .PD ! Do or don't use hardware floating-point divide and square root instructions. ! This requires the F or D extensions for floating-point registers. The default ! is to use them if the specified architecture has these instructions. .IP "\fB\-mdiv\fR" 4 .IX Item "-mdiv" .PD 0 .IP "\fB\-mno\-div\fR" 4 .IX Item "-mno-div" .PD ! Do or don't use hardware instructions for integer division. This requires the ! M extension. The default is to use them if the specified architecture has ! these instructions. .IP "\fB\-march=\fR\fIISA-string\fR" 4 .IX Item "-march=ISA-string" Generate code for given RISC-V \s-1ISA \s0(e.g. \fBrv64im\fR). \s-1ISA\s0 strings must be *************** Put global and static data smaller than *** 20015,20024 **** .IP "\fB\-mno\-save\-restore\fR" 4 .IX Item "-mno-save-restore" .PD ! Use smaller but slower prologue and epilogue code. ! .IP "\fB\-mcmodel=\fR\fIcode-model\fR" 4 ! .IX Item "-mcmodel=code-model" ! Specify the code model. .PP \fI\s-1RL78\s0 Options\fR .IX Subsection "RL78 Options" --- 20029,20066 ---- .IP "\fB\-mno\-save\-restore\fR" 4 .IX Item "-mno-save-restore" .PD ! Do or don't use smaller but slower prologue and epilogue code that uses ! library function calls. The default is to use fast inline prologues and ! epilogues. ! .IP "\fB\-mstrict\-align\fR" 4 ! .IX Item "-mstrict-align" ! .PD 0 ! .IP "\fB\-mno\-strict\-align\fR" 4 ! .IX Item "-mno-strict-align" ! .PD ! Do not or do generate unaligned memory accesses. The default is set depending ! on whether the processor we are optimizing for supports fast unaligned access ! or not. ! .IP "\fB\-mcmodel=medlow\fR" 4 ! .IX Item "-mcmodel=medlow" ! Generate code for the medium-low code model. The program and its statically ! defined symbols must lie within a single 2 GiB address range and must lie ! between absolute addresses \-2 GiB and +2 GiB. Programs can be ! statically or dynamically linked. This is the default code model. ! .IP "\fB\-mcmodel=medany\fR" 4 ! .IX Item "-mcmodel=medany" ! Generate code for the medium-any code model. The program and its statically ! defined symbols must be within any single 2 GiB address range. Programs can be ! statically or dynamically linked. ! .IP "\fB\-mexplicit\-relocs\fR" 4 ! .IX Item "-mexplicit-relocs" ! .PD 0 ! .IP "\fB\-mno\-exlicit\-relocs\fR" 4 ! .IX Item "-mno-exlicit-relocs" ! .PD ! Use or do not use assembler relocation operators when dealing with symbolic ! addresses. The alternative is to use assembler macros instead, which may ! limit optimization. .PP \fI\s-1RL78\s0 Options\fR .IX Subsection "RL78 Options" *************** on to provide serious protection. *** 24605,24610 **** --- 24647,24684 ---- Generate code that uses only the general-purpose registers. This prevents the compiler from using floating-point, vector, mask and bound registers. + .IP "\fB\-mindirect\-branch=\fR\fIchoice\fR" 4 + .IX Item "-mindirect-branch=choice" + Convert indirect call and jump with \fIchoice\fR. The default is + \&\fBkeep\fR, which keeps indirect call and jump unmodified. + \&\fBthunk\fR converts indirect call and jump to call and return thunk. + \&\fBthunk-inline\fR converts indirect call and jump to inlined call + and return thunk. \fBthunk-extern\fR converts indirect call and jump + to external call and return thunk provided in a separate object file. + You can control this behavior for a specific function by using the + function attribute \f(CW\*(C`indirect_branch\*(C'\fR. + .Sp + Note that \fB\-mcmodel=large\fR is incompatible with + \&\fB\-mindirect\-branch=thunk\fR nor + \&\fB\-mindirect\-branch=thunk\-extern\fR since the thunk function may + not be reachable in large code model. + .IP "\fB\-mfunction\-return=\fR\fIchoice\fR" 4 + .IX Item "-mfunction-return=choice" + Convert function return with \fIchoice\fR. The default is \fBkeep\fR, + which keeps function return unmodified. \fBthunk\fR converts function + return to call and return thunk. \fBthunk-inline\fR converts function + return to inlined call and return thunk. \fBthunk-extern\fR converts + function return to external call and return thunk provided in a separate + object file. You can control this behavior for a specific function by + using the function attribute \f(CW\*(C`function_return\*(C'\fR. + .Sp + Note that \fB\-mcmodel=large\fR is incompatible with + \&\fB\-mfunction\-return=thunk\fR nor + \&\fB\-mfunction\-return=thunk\-extern\fR since the thunk function may + not be reachable in large code model. + .IP "\fB\-mindirect\-branch\-register\fR" 4 + .IX Item "-mindirect-branch-register" + Force indirect call and jump via register. .PP These \fB\-m\fR switches are supported in addition to the above on x86\-64 processors in 64\-bit environments. diff -Nrcpad gcc-7.2.0/gcc/doc/gcc.1 gcc-7.3.0/gcc/doc/gcc.1 *** gcc-7.2.0/gcc/doc/gcc.1 Mon Aug 14 08:30:43 2017 --- gcc-7.3.0/gcc/doc/gcc.1 Thu Jan 25 08:41:40 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCC 1" ! .TH GCC 1 "2018-01-25" "gcc-7.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** See \s-1RS/6000\s0 and PowerPC Options. *** 978,985 **** .Sp \&\fIRISC-V Options\fR \&\fB\-mbranch\-cost=\fR\fIN\-instruction\fR ! \&\fB\-mmemcpy \-mno\-memcpy ! \&\-mplt \-mno\-plt \&\-mabi=\fR\fIABI-string\fR \&\fB\-mfdiv \-mno\-fdiv \&\-mdiv \-mno\-div --- 978,984 ---- .Sp \&\fIRISC-V Options\fR \&\fB\-mbranch\-cost=\fR\fIN\-instruction\fR ! \&\fB\-mplt \-mno\-plt \&\-mabi=\fR\fIABI-string\fR \&\fB\-mfdiv \-mno\-fdiv \&\-mdiv \-mno\-div *************** See \s-1RS/6000\s0 and PowerPC Options. *** 987,994 **** \&\fB\-mtune=\fR\fIprocessor-string\fR \&\fB\-msmall\-data\-limit=\fR\fIN\-bytes\fR \&\fB\-msave\-restore \-mno\-save\-restore ! \&\-mcmodel=\fR\fIcode-model\fR ! \&\fB\-mexplicit\-relocs \-mno\-explicit\-relocs\fR .Sp \&\fI\s-1RL78\s0 Options\fR \&\fB\-msim \-mmul=none \-mmul=g13 \-mmul=g14 \-mallregs --- 986,994 ---- \&\fB\-mtune=\fR\fIprocessor-string\fR \&\fB\-msmall\-data\-limit=\fR\fIN\-bytes\fR \&\fB\-msave\-restore \-mno\-save\-restore ! \&\-mstrict\-align \-mno\-strict\-align ! \&\-mcmodel=medlow \-mcmodel=medany ! \&\-mexplicit\-relocs \-mno\-explicit\-relocs\fR .Sp \&\fI\s-1RL78\s0 Options\fR \&\fB\-msim \-mmul=none \-mmul=g13 \-mmul=g14 \-mallregs *************** See \s-1RS/6000\s0 and PowerPC Options. *** 1222,1228 **** \&\fB\-msse2avx \-mfentry \-mrecord\-mcount \-mnop\-mcount \-m8bit\-idiv \&\-mavx256\-split\-unaligned\-load \-mavx256\-split\-unaligned\-store \&\-malign\-data=\fR\fItype\fR \fB\-mstack\-protector\-guard=\fR\fIguard\fR ! \&\fB\-mmitigate\-rop \-mgeneral\-regs\-only\fR .Sp \&\fIx86 Windows Options\fR \&\fB\-mconsole \-mcygwin \-mno\-cygwin \-mdll --- 1222,1230 ---- \&\fB\-msse2avx \-mfentry \-mrecord\-mcount \-mnop\-mcount \-m8bit\-idiv \&\-mavx256\-split\-unaligned\-load \-mavx256\-split\-unaligned\-store \&\-malign\-data=\fR\fItype\fR \fB\-mstack\-protector\-guard=\fR\fIguard\fR ! \&\fB\-mmitigate\-rop \-mgeneral\-regs\-only ! \&\-mindirect\-branch=\fR\fIchoice\fR \fB\-mfunction\-return==\fR\fIchoice\fR ! \&\fB\-mindirect\-branch\-register\fR .Sp \&\fIx86 Windows Options\fR \&\fB\-mconsole \-mcygwin \-mno\-cygwin \-mdll *************** Link your object files with \fB\-lgcov\f *** 9921,9929 **** Run the program on a representative workload to generate the arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system ! supports locking, the data files will be correctly updated. Also ! \&\f(CW\*(C`fork\*(C'\fR calls are detected and correctly handled (double counting ! will not happen). .IP "*" 4 For profile-directed optimizations, compile the source files again with the same optimization and code generation options plus --- 9923,9931 ---- Run the program on a representative workload to generate the arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system ! supports locking, the data files will be correctly updated. Unless ! a strict \s-1ISO C\s0 dialect option is in effect, \f(CW\*(C`fork\*(C'\fR calls are ! detected and correctly handled without double counting. .IP "*" 4 For profile-directed optimizations, compile the source files again with the same optimization and code generation options plus *************** These command-line options are defined f *** 19963,20002 **** .IP "\fB\-mbranch\-cost=\fR\fIn\fR" 4 .IX Item "-mbranch-cost=n" Set the cost of branches to roughly \fIn\fR instructions. - .IP "\fB\-mmemcpy\fR" 4 - .IX Item "-mmemcpy" - .PD 0 - .IP "\fB\-mno\-memcpy\fR" 4 - .IX Item "-mno-memcpy" - .PD - Don't optimize block moves. .IP "\fB\-mplt\fR" 4 .IX Item "-mplt" .PD 0 .IP "\fB\-mno\-plt\fR" 4 .IX Item "-mno-plt" .PD ! When generating \s-1PIC\s0 code, allow the use of PLTs. Ignored for non-PIC. .IP "\fB\-mabi=\fR\fIABI-string\fR" 4 .IX Item "-mabi=ABI-string" ! Specify integer and floating-point calling convention. This defaults to the ! natural calling convention: e.g. \s-1LP64\s0 for \s-1RV64I, ILP32\s0 for \s-1RV32I, LP64D\s0 for ! \&\s-1RV64G.\s0 .IP "\fB\-mfdiv\fR" 4 .IX Item "-mfdiv" .PD 0 .IP "\fB\-mno\-fdiv\fR" 4 .IX Item "-mno-fdiv" .PD ! Use hardware floating-point divide and square root instructions. This requires ! the F or D extensions for floating-point registers. .IP "\fB\-mdiv\fR" 4 .IX Item "-mdiv" .PD 0 .IP "\fB\-mno\-div\fR" 4 .IX Item "-mno-div" .PD ! Use hardware instructions for integer division. This requires the M extension. .IP "\fB\-march=\fR\fIISA-string\fR" 4 .IX Item "-march=ISA-string" Generate code for given RISC-V \s-1ISA \s0(e.g. \fBrv64im\fR). \s-1ISA\s0 strings must be --- 19965,20016 ---- .IP "\fB\-mbranch\-cost=\fR\fIn\fR" 4 .IX Item "-mbranch-cost=n" Set the cost of branches to roughly \fIn\fR instructions. .IP "\fB\-mplt\fR" 4 .IX Item "-mplt" .PD 0 .IP "\fB\-mno\-plt\fR" 4 .IX Item "-mno-plt" .PD ! When generating \s-1PIC\s0 code, do or don't allow the use of PLTs. Ignored for ! non-PIC. The default is \fB\-mplt\fR. .IP "\fB\-mabi=\fR\fIABI-string\fR" 4 .IX Item "-mabi=ABI-string" ! Specify integer and floating-point calling convention. \fIABI-string\fR ! contains two parts: the size of integer types and the registers used for ! floating-point types. For example \fB\-march=rv64ifd \-mabi=lp64d\fR means that ! \&\fBlong\fR and pointers are 64\-bit (implicitly defining \fBint\fR to be ! 32\-bit), and that floating-point values up to 64 bits wide are passed in F ! registers. Contrast this with \fB\-march=rv64ifd \-mabi=lp64f\fR, which still ! allows the compiler to generate code that uses the F and D extensions but only ! allows floating-point values up to 32 bits long to be passed in registers; or ! \&\fB\-march=rv64ifd \-mabi=lp64\fR, in which no floating-point arguments will be ! passed in registers. ! .Sp ! The default for this argument is system dependent, users who want a specific ! calling convention should specify one explicitly. The valid calling ! conventions are: \fBilp32\fR, \fBilp32f\fR, \fBilp32d\fR, \fBlp64\fR, ! \&\fBlp64f\fR, and \fBlp64d\fR. Some calling conventions are impossible to ! implement on some ISAs: for example, \fB\-march=rv32if \-mabi=ilp32d\fR is ! invalid because the \s-1ABI\s0 requires 64\-bit values be passed in F registers, but F ! registers are only 32 bits wide. .IP "\fB\-mfdiv\fR" 4 .IX Item "-mfdiv" .PD 0 .IP "\fB\-mno\-fdiv\fR" 4 .IX Item "-mno-fdiv" .PD ! Do or don't use hardware floating-point divide and square root instructions. ! This requires the F or D extensions for floating-point registers. The default ! is to use them if the specified architecture has these instructions. .IP "\fB\-mdiv\fR" 4 .IX Item "-mdiv" .PD 0 .IP "\fB\-mno\-div\fR" 4 .IX Item "-mno-div" .PD ! Do or don't use hardware instructions for integer division. This requires the ! M extension. The default is to use them if the specified architecture has ! these instructions. .IP "\fB\-march=\fR\fIISA-string\fR" 4 .IX Item "-march=ISA-string" Generate code for given RISC-V \s-1ISA \s0(e.g. \fBrv64im\fR). \s-1ISA\s0 strings must be *************** Put global and static data smaller than *** 20015,20024 **** .IP "\fB\-mno\-save\-restore\fR" 4 .IX Item "-mno-save-restore" .PD ! Use smaller but slower prologue and epilogue code. ! .IP "\fB\-mcmodel=\fR\fIcode-model\fR" 4 ! .IX Item "-mcmodel=code-model" ! Specify the code model. .PP \fI\s-1RL78\s0 Options\fR .IX Subsection "RL78 Options" --- 20029,20066 ---- .IP "\fB\-mno\-save\-restore\fR" 4 .IX Item "-mno-save-restore" .PD ! Do or don't use smaller but slower prologue and epilogue code that uses ! library function calls. The default is to use fast inline prologues and ! epilogues. ! .IP "\fB\-mstrict\-align\fR" 4 ! .IX Item "-mstrict-align" ! .PD 0 ! .IP "\fB\-mno\-strict\-align\fR" 4 ! .IX Item "-mno-strict-align" ! .PD ! Do not or do generate unaligned memory accesses. The default is set depending ! on whether the processor we are optimizing for supports fast unaligned access ! or not. ! .IP "\fB\-mcmodel=medlow\fR" 4 ! .IX Item "-mcmodel=medlow" ! Generate code for the medium-low code model. The program and its statically ! defined symbols must lie within a single 2 GiB address range and must lie ! between absolute addresses \-2 GiB and +2 GiB. Programs can be ! statically or dynamically linked. This is the default code model. ! .IP "\fB\-mcmodel=medany\fR" 4 ! .IX Item "-mcmodel=medany" ! Generate code for the medium-any code model. The program and its statically ! defined symbols must be within any single 2 GiB address range. Programs can be ! statically or dynamically linked. ! .IP "\fB\-mexplicit\-relocs\fR" 4 ! .IX Item "-mexplicit-relocs" ! .PD 0 ! .IP "\fB\-mno\-exlicit\-relocs\fR" 4 ! .IX Item "-mno-exlicit-relocs" ! .PD ! Use or do not use assembler relocation operators when dealing with symbolic ! addresses. The alternative is to use assembler macros instead, which may ! limit optimization. .PP \fI\s-1RL78\s0 Options\fR .IX Subsection "RL78 Options" *************** on to provide serious protection. *** 24605,24610 **** --- 24647,24684 ---- Generate code that uses only the general-purpose registers. This prevents the compiler from using floating-point, vector, mask and bound registers. + .IP "\fB\-mindirect\-branch=\fR\fIchoice\fR" 4 + .IX Item "-mindirect-branch=choice" + Convert indirect call and jump with \fIchoice\fR. The default is + \&\fBkeep\fR, which keeps indirect call and jump unmodified. + \&\fBthunk\fR converts indirect call and jump to call and return thunk. + \&\fBthunk-inline\fR converts indirect call and jump to inlined call + and return thunk. \fBthunk-extern\fR converts indirect call and jump + to external call and return thunk provided in a separate object file. + You can control this behavior for a specific function by using the + function attribute \f(CW\*(C`indirect_branch\*(C'\fR. + .Sp + Note that \fB\-mcmodel=large\fR is incompatible with + \&\fB\-mindirect\-branch=thunk\fR nor + \&\fB\-mindirect\-branch=thunk\-extern\fR since the thunk function may + not be reachable in large code model. + .IP "\fB\-mfunction\-return=\fR\fIchoice\fR" 4 + .IX Item "-mfunction-return=choice" + Convert function return with \fIchoice\fR. The default is \fBkeep\fR, + which keeps function return unmodified. \fBthunk\fR converts function + return to call and return thunk. \fBthunk-inline\fR converts function + return to inlined call and return thunk. \fBthunk-extern\fR converts + function return to external call and return thunk provided in a separate + object file. You can control this behavior for a specific function by + using the function attribute \f(CW\*(C`function_return\*(C'\fR. + .Sp + Note that \fB\-mcmodel=large\fR is incompatible with + \&\fB\-mfunction\-return=thunk\fR nor + \&\fB\-mfunction\-return=thunk\-extern\fR since the thunk function may + not be reachable in large code model. + .IP "\fB\-mindirect\-branch\-register\fR" 4 + .IX Item "-mindirect-branch-register" + Force indirect call and jump via register. .PP These \fB\-m\fR switches are supported in addition to the above on x86\-64 processors in 64\-bit environments. diff -Nrcpad gcc-7.2.0/gcc/doc/gcc.info gcc-7.3.0/gcc/doc/gcc.info *** gcc-7.2.0/gcc/doc/gcc.info Mon Aug 14 08:30:40 2017 --- gcc-7.3.0/gcc/doc/gcc.info Thu Jan 25 08:41:37 2018 *************** *** 1,5 **** This is doc/gcc.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/doc/gcc.texi. Copyright (C) 1988-2017 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gcc.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/doc/gcc.texi. Copyright (C) 1988-2017 Free Software Foundation, Inc. *************** Introduction *** 60,66 **** This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to the compilers (GCC) version 7.2.0. The internals of the GNU compilers, including how to port them to new targets and some information about how to write front ends for new languages, are documented in a separate manual. *Note Introduction: (gccint)Top. --- 60,66 ---- This manual documents how to use the GNU compilers, as well as their features and incompatibilities, and how to report bugs. It corresponds ! to the compilers (GCC) version 7.3.0. 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. *************** _Machine-Dependent Options_ *** 1282,1288 **** _RISC-V Options_ -mbranch-cost=N-INSTRUCTION - -mmemcpy -mno-memcpy -mplt -mno-plt -mabi=ABI-STRING -mfdiv -mno-fdiv --- 1282,1287 ---- *************** _Machine-Dependent Options_ *** 1291,1297 **** -mtune=PROCESSOR-STRING -msmall-data-limit=N-BYTES -msave-restore -mno-save-restore ! -mcmodel=CODE-MODEL -mexplicit-relocs -mno-explicit-relocs _RL78 Options_ --- 1290,1297 ---- -mtune=PROCESSOR-STRING -msmall-data-limit=N-BYTES -msave-restore -mno-save-restore ! -mstrict-align -mno-strict-align ! -mcmodel=medlow -mcmodel=medany -mexplicit-relocs -mno-explicit-relocs _RL78 Options_ *************** _Machine-Dependent Options_ *** 1527,1532 **** --- 1527,1534 ---- -mavx256-split-unaligned-load -mavx256-split-unaligned-store -malign-data=TYPE -mstack-protector-guard=GUARD -mmitigate-rop -mgeneral-regs-only + -mindirect-branch=CHOICE -mfunction-return==CHOICE + -mindirect-branch-register _x86 Windows Options_ -mconsole -mcygwin -mno-cygwin -mdll *************** program analysis purposes. *** 9969,9977 **** arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system supports locking, the data ! files will be correctly updated. Also `fork' calls are ! detected and correctly handled (double counting will not ! happen). * For profile-directed optimizations, compile the source files again with the same optimization and code generation options --- 9971,9979 ---- arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system supports locking, the data ! files will be correctly updated. Unless a strict ISO C ! dialect option is in effect, `fork' calls are detected and ! correctly handled without double counting. * For profile-directed optimizations, compile the source files again with the same optimization and code generation options *************** These command-line options are defined f *** 19400,19428 **** `-mbranch-cost=N' Set the cost of branches to roughly N instructions. - `-mmemcpy' - `-mno-memcpy' - Don't optimize block moves. - `-mplt' `-mno-plt' ! When generating PIC code, allow the use of PLTs. Ignored for ! non-PIC. `-mabi=ABI-STRING' ! Specify integer and floating-point calling convention. This ! defaults to the natural calling convention: e.g. LP64 for RV64I, ! ILP32 for RV32I, LP64D for RV64G. `-mfdiv' `-mno-fdiv' ! Use hardware floating-point divide and square root instructions. ! This requires the F or D extensions for floating-point registers. `-mdiv' `-mno-div' ! Use hardware instructions for integer division. This requires the ! M extension. `-march=ISA-STRING' Generate code for given RISC-V ISA (e.g. `rv64im'). ISA strings --- 19402,19445 ---- `-mbranch-cost=N' Set the cost of branches to roughly N instructions. `-mplt' `-mno-plt' ! When generating PIC code, do or don't allow the use of PLTs. ! Ignored for non-PIC. The default is `-mplt'. `-mabi=ABI-STRING' ! Specify integer and floating-point calling convention. ABI-STRING ! contains two parts: the size of integer types and the registers ! used for floating-point types. For example `-march=rv64ifd ! -mabi=lp64d' means that `long' and pointers are 64-bit (implicitly ! defining `int' to be 32-bit), and that floating-point values up to ! 64 bits wide are passed in F registers. Contrast this with ! `-march=rv64ifd -mabi=lp64f', which still allows the compiler to ! generate code that uses the F and D extensions but only allows ! floating-point values up to 32 bits long to be passed in ! registers; or `-march=rv64ifd -mabi=lp64', in which no ! floating-point arguments will be passed in registers. ! ! The default for this argument is system dependent, users who want ! a specific calling convention should specify one explicitly. The ! valid calling conventions are: `ilp32', `ilp32f', `ilp32d', `lp64', ! `lp64f', and `lp64d'. Some calling conventions are impossible to ! implement on some ISAs: for example, `-march=rv32if -mabi=ilp32d' ! is invalid because the ABI requires 64-bit values be passed in F ! registers, but F registers are only 32 bits wide. `-mfdiv' `-mno-fdiv' ! Do or don't use hardware floating-point divide and square root ! instructions. This requires the F or D extensions for ! floating-point registers. The default is to use them if the ! specified architecture has these instructions. `-mdiv' `-mno-div' ! Do or don't use hardware instructions for integer division. This ! requires the M extension. The default is to use them if the ! specified architecture has these instructions. `-march=ISA-STRING' Generate code for given RISC-V ISA (e.g. `rv64im'). ISA strings *************** These command-line options are defined f *** 19439,19448 **** `-msave-restore' `-mno-save-restore' ! Use smaller but slower prologue and epilogue code. ! `-mcmodel=CODE-MODEL' ! Specify the code model.  --- 19456,19488 ---- `-msave-restore' `-mno-save-restore' ! Do or don't use smaller but slower prologue and epilogue code that ! uses library function calls. The default is to use fast inline ! prologues and epilogues. ! `-mstrict-align' ! `-mno-strict-align' ! Do not or do generate unaligned memory accesses. The default is ! set depending on whether the processor we are optimizing for ! supports fast unaligned access or not. ! ! `-mcmodel=medlow' ! Generate code for the medium-low code model. The program and its ! statically defined symbols must lie within a single 2 GiB address ! range and must lie between absolute addresses -2 GiB and +2 GiB. ! Programs can be statically or dynamically linked. This is the ! default code model. ! ! `-mcmodel=medany' ! Generate code for the medium-any code model. The program and its ! statically defined symbols must be within any single 2 GiB address ! range. Programs can be statically or dynamically linked. ! ! `-mexplicit-relocs' ! `-mno-exlicit-relocs' ! Use or do not use assembler relocation operators when dealing with ! symbolic addresses. The alternative is to use assembler macros ! instead, which may limit optimization.  *************** These `-m' options are defined for the x *** 23516,23521 **** --- 23556,23592 ---- prevents the compiler from using floating-point, vector, mask and bound registers. + `-mindirect-branch=CHOICE' + Convert indirect call and jump with CHOICE. The default is + `keep', which keeps indirect call and jump unmodified. `thunk' + converts indirect call and jump to call and return thunk. + `thunk-inline' converts indirect call and jump to inlined call and + return thunk. `thunk-extern' converts indirect call and jump to + external call and return thunk provided in a separate object file. + You can control this behavior for a specific function by using the + function attribute `indirect_branch'. *Note Function Attributes::. + + Note that `-mcmodel=large' is incompatible with + `-mindirect-branch=thunk' nor `-mindirect-branch=thunk-extern' + since the thunk function may not be reachable in large code model. + + `-mfunction-return=CHOICE' + Convert function return with CHOICE. The default is `keep', which + keeps function return unmodified. `thunk' converts function + return to call and return thunk. `thunk-inline' converts function + return to inlined call and return thunk. `thunk-extern' converts + function return to external call and return thunk provided in a + separate object file. You can control this behavior for a + specific function by using the function attribute + `function_return'. *Note Function Attributes::. + + Note that `-mcmodel=large' is incompatible with + `-mfunction-return=thunk' nor `-mfunction-return=thunk-extern' + since the thunk function may not be reachable in large code model. + + `-mindirect-branch-register' + Force indirect call and jump via register. + These `-m' switches are supported in addition to the above on x86-64 processors in 64-bit environments. *************** These function attributes are supported *** 30150,30155 **** --- 30221,30245 ---- `target("fpmath=sse+387")' because the comma would separate different options. + `indirect_branch("CHOICE")' + On x86 targets, the `indirect_branch' attribute causes the + compiler to convert indirect call and jump with CHOICE. + `keep' keeps indirect call and jump unmodified. `thunk' + converts indirect call and jump to call and return thunk. + `thunk-inline' converts indirect call and jump to inlined + call and return thunk. `thunk-extern' converts indirect call + and jump to external call and return thunk provided in a + separate object file. + + `function_return("CHOICE")' + On x86 targets, the `function_return' attribute causes the + compiler to convert function return with CHOICE. `keep' + keeps function return unmodified. `thunk' converts function + return to call and return thunk. `thunk-inline' converts + function return to inlined call and return thunk. + `thunk-extern' converts function return to external call and + return thunk provided in a separate object file. + On the x86, the inliner does not inline a function that has different target options than the caller, unless the callee has a subset of the target options of the caller. For example a *************** Modifier Description *** 33059,33064 **** --- 33149,33157 ---- `c' Require a constant operand and print the `%c1' `2' `2' constant expression with no punctuation. + `V' is a special modifier which prints the name of the full integer + register without `%'. + 6.45.2.9 x86 Floating-Point `asm' Operands .......................................... *************** to check the target platform type. *** 45510,45518 **** `btver2' AMD Family 16h CPU. ! `znver1' AMD Family 17h CPU. Here is an example: if (__builtin_cpu_is ("corei7")) { --- 45603,45614 ---- `btver2' AMD Family 16h CPU. ! `amdfam17h' AMD Family 17h CPU. + `znver1' + AMD Family 17h Zen version 1. + Here is an example: if (__builtin_cpu_is ("corei7")) { *************** All of them generate the machine instruc *** 46625,46631 **** The following built-in functions are available when `-mlzcnt' is used. All of them generate the machine instruction that is part of the name. ! unsigned short __builtin_ia32_lzcnt_16(unsigned short); unsigned int __builtin_ia32_lzcnt_u32(unsigned int); unsigned long long __builtin_ia32_lzcnt_u64 (unsigned long long); --- 46721,46727 ---- The following built-in functions are available when `-mlzcnt' is used. All of them generate the machine instruction that is part of the name. ! unsigned short __builtin_ia32_lzcnt_u16(unsigned short); unsigned int __builtin_ia32_lzcnt_u32(unsigned int); unsigned long long __builtin_ia32_lzcnt_u64 (unsigned long long); *************** paths such as C++ exception handlers, re *** 50081,50086 **** --- 50177,50189 ---- unexecuted blocks are marked `$$$$$' or `%%%%%', depending on whether a basic block is reachable via non-exceptional or exceptional paths. + Note that GCC can completely remove the bodies of functions that are + not needed - for instance if they are inlined everywhere. Such + functions are marked with `-', which can be confusing. Use the + `-fkeep-inline-functions' and `-fkeep-static-functions' options to + retain these functions and allow gcov to properly show their + EXECUTION_COUNT. + Some lines of information at the start have LINE_NUMBER of zero. These preamble lines are of the form *************** look up both forms. *** 54382,54387 **** --- 54485,54493 ---- * ###: Overall Options. (line 204) * -fipa-bit-cp: Optimize Options. (line 1023) * -fipa-vrp: Optimize Options. (line 1028) + * -mfunction-return: x86 Options. (line 1203) + * -mindirect-branch: x86 Options. (line 1189) + * -mindirect-branch-register: x86 Options. (line 1217) * -mlow-precision-div: AArch64 Options. (line 106) * -mlow-precision-sqrt: AArch64 Options. (line 96) * -mno-low-precision-div: AArch64 Options. (line 106) *************** look up both forms. *** 55337,55343 **** * m1: SH Options. (line 9) * m10: PDP-11 Options. (line 29) * m128bit-long-double: x86 Options. (line 487) ! * m16: x86 Options. (line 1197) * m16-bit <1>: NDS32 Options. (line 39) * m16-bit: CRIS Options. (line 64) * m1reg-: Adapteva Epiphany Options. --- 55443,55449 ---- * m1: SH Options. (line 9) * m10: PDP-11 Options. (line 29) * m128bit-long-double: x86 Options. (line 487) ! * m16: x86 Options. (line 1228) * m16-bit <1>: NDS32 Options. (line 39) * m16-bit: CRIS Options. (line 64) * m1reg-: Adapteva Epiphany Options. *************** look up both forms. *** 55351,55357 **** * m3: SH Options. (line 34) * m31: S/390 and zSeries Options. (line 87) ! * m32 <1>: x86 Options. (line 1197) * m32 <2>: TILEPro Options. (line 13) * m32 <3>: TILE-Gx Options. (line 23) * m32 <4>: SPARC Options. (line 317) --- 55457,55463 ---- * m3: SH Options. (line 34) * m31: S/390 and zSeries Options. (line 87) ! * m32 <1>: x86 Options. (line 1228) * m32 <2>: TILEPro Options. (line 13) * m32 <3>: TILE-Gx Options. (line 23) * m32 <4>: SPARC Options. (line 317) *************** look up both forms. *** 55399,55405 **** * m528x: M680x0 Options. (line 160) * m5307: M680x0 Options. (line 164) * m5407: M680x0 Options. (line 168) ! * m64 <1>: x86 Options. (line 1197) * m64 <2>: TILE-Gx Options. (line 23) * m64 <3>: SPARC Options. (line 317) * m64 <4>: S/390 and zSeries Options. --- 55505,55511 ---- * m528x: M680x0 Options. (line 160) * m5307: M680x0 Options. (line 164) * m5407: M680x0 Options. (line 168) ! * m64 <1>: x86 Options. (line 1228) * m64 <2>: TILE-Gx Options. (line 23) * m64 <3>: SPARC Options. (line 317) * m64 <4>: S/390 and zSeries Options. *************** look up both forms. *** 55427,55433 **** * mabi <1>: x86 Options. (line 895) * mabi <2>: RS/6000 and PowerPC Options. (line 687) ! * mabi <3>: RISC-V Options. (line 21) * mabi <4>: ARM Options. (line 9) * mabi: AArch64 Options. (line 9) * mabi=32: MIPS Options. (line 157) --- 55533,55539 ---- * mabi <1>: x86 Options. (line 895) * mabi <2>: RS/6000 and PowerPC Options. (line 687) ! * mabi <3>: RISC-V Options. (line 17) * mabi <4>: ARM Options. (line 9) * mabi: AArch64 Options. (line 9) * mabi=32: MIPS Options. (line 157) *************** look up both forms. *** 55463,55470 **** * maccumulate-args: AVR Options. (line 154) * maccumulate-outgoing-args <1>: x86 Options. (line 918) * maccumulate-outgoing-args: SH Options. (line 318) ! * maddress-mode=long: x86 Options. (line 1247) ! * maddress-mode=short: x86 Options. (line 1252) * maddress-space-conversion: SPU Options. (line 63) * mads: RS/6000 and PowerPC Options. (line 748) --- 55569,55576 ---- * maccumulate-args: AVR Options. (line 154) * maccumulate-outgoing-args <1>: x86 Options. (line 918) * maccumulate-outgoing-args: SH Options. (line 318) ! * maddress-mode=long: x86 Options. (line 1278) ! * maddress-mode=short: x86 Options. (line 1283) * maddress-space-conversion: SPU Options. (line 63) * mads: RS/6000 and PowerPC Options. (line 748) *************** look up both forms. *** 55511,55517 **** * march <1>: x86 Options. (line 9) * march <2>: S/390 and zSeries Options. (line 150) ! * march <3>: RISC-V Options. (line 36) * march <4>: Nios II Options. (line 73) * march <5>: NDS32 Options. (line 52) * march <6>: MIPS Options. (line 14) --- 55617,55623 ---- * march <1>: x86 Options. (line 9) * march <2>: S/390 and zSeries Options. (line 150) ! * march <3>: RISC-V Options. (line 51) * march <4>: Nios II Options. (line 73) * march <5>: NDS32 Options. (line 52) * march <6>: MIPS Options. (line 14) *************** look up both forms. *** 55645,55662 **** * mclip: MeP Options. (line 35) * mclzero: x86 Options. (line 720) * mcmodel <1>: SPARC Options. (line 322) - * mcmodel <2>: RISC-V Options. (line 53) * mcmodel: NDS32 Options. (line 55) ! * mcmodel=kernel: x86 Options. (line 1231) ! * mcmodel=large <1>: x86 Options. (line 1243) * mcmodel=large <2>: TILE-Gx Options. (line 14) * mcmodel=large <3>: RS/6000 and PowerPC Options. (line 131) * mcmodel=large: AArch64 Options. (line 45) ! * mcmodel=medium <1>: x86 Options. (line 1236) * mcmodel=medium: RS/6000 and PowerPC Options. (line 126) ! * mcmodel=small <1>: x86 Options. (line 1225) * mcmodel=small <2>: TILE-Gx Options. (line 9) * mcmodel=small <3>: RS/6000 and PowerPC Options. (line 122) --- 55751,55769 ---- * mclip: MeP Options. (line 35) * mclzero: x86 Options. (line 720) * mcmodel <1>: SPARC Options. (line 322) * mcmodel: NDS32 Options. (line 55) ! * mcmodel=kernel: x86 Options. (line 1262) ! * mcmodel=large <1>: x86 Options. (line 1274) * mcmodel=large <2>: TILE-Gx Options. (line 14) * mcmodel=large <3>: RS/6000 and PowerPC Options. (line 131) * mcmodel=large: AArch64 Options. (line 45) ! * mcmodel=medany: RISC-V Options. (line 83) ! * mcmodel=medium <1>: x86 Options. (line 1267) * mcmodel=medium: RS/6000 and PowerPC Options. (line 126) ! * mcmodel=medlow: RISC-V Options. (line 76) ! * mcmodel=small <1>: x86 Options. (line 1256) * mcmodel=small <2>: TILE-Gx Options. (line 9) * mcmodel=small <3>: RS/6000 and PowerPC Options. (line 122) *************** look up both forms. *** 55740,55746 **** * mdisable-callt: V850 Options. (line 92) * mdisable-fpregs: HPPA Options. (line 34) * mdisable-indexing: HPPA Options. (line 40) ! * mdiv <1>: RISC-V Options. (line 32) * mdiv <2>: MeP Options. (line 65) * mdiv <3>: MCore Options. (line 15) * mdiv: M680x0 Options. (line 209) --- 55847,55853 ---- * mdisable-callt: V850 Options. (line 92) * mdisable-fpregs: HPPA Options. (line 34) * mdisable-indexing: HPPA Options. (line 40) ! * mdiv <1>: RISC-V Options. (line 46) * mdiv <2>: MeP Options. (line 65) * mdiv <3>: MCore Options. (line 15) * mdiv: M680x0 Options. (line 209) *************** look up both forms. *** 55817,55823 **** * mfast-indirect-calls: HPPA Options. (line 52) * mfast-sw-div: Nios II Options. (line 94) * mfaster-structs: SPARC Options. (line 92) ! * mfdiv: RISC-V Options. (line 27) * mfdpic: FRV Options. (line 56) * mfentry: x86 Options. (line 1127) * mfix: DEC Alpha Options. (line 163) --- 55924,55930 ---- * mfast-indirect-calls: HPPA Options. (line 52) * mfast-sw-div: Nios II Options. (line 94) * mfaster-structs: SPARC Options. (line 92) ! * mfdiv: RISC-V Options. (line 39) * mfdpic: FRV Options. (line 56) * mfentry: x86 Options. (line 1127) * mfix: DEC Alpha Options. (line 163) *************** look up both forms. *** 55970,55976 **** * mhw-mul: Nios II Options. (line 103) * mhw-mulx: Nios II Options. (line 103) * mhwmult=: MSP430 Options. (line 63) ! * miamcu: x86 Options. (line 1197) * micplb: Blackfin Options. (line 178) * mid-shared-library: Blackfin Options. (line 81) * mieee <1>: SH Options. (line 165) --- 56077,56083 ---- * mhw-mul: Nios II Options. (line 103) * mhw-mulx: Nios II Options. (line 103) * mhwmult=: MSP430 Options. (line 63) ! * miamcu: x86 Options. (line 1228) * micplb: Blackfin Options. (line 178) * mid-shared-library: Blackfin Options. (line 81) * mieee <1>: SH Options. (line 165) *************** look up both forms. *** 56128,56135 **** (line 181) * mmedia: FRV Options. (line 44) * mmedium-calls: ARC Options. (line 369) ! * mmemcpy <1>: RISC-V Options. (line 13) ! * mmemcpy <2>: MIPS Options. (line 578) * mmemcpy: MicroBlaze Options. (line 13) * mmemcpy-strategy=STRATEGY: x86 Options. (line 1088) * mmemory-latency: DEC Alpha Options. (line 268) --- 56235,56241 ---- (line 181) * mmedia: FRV Options. (line 44) * mmedium-calls: ARC Options. (line 369) ! * mmemcpy <1>: MIPS Options. (line 578) * mmemcpy: MicroBlaze Options. (line 13) * mmemcpy-strategy=STRATEGY: x86 Options. (line 1088) * mmemory-latency: DEC Alpha Options. (line 268) *************** look up both forms. *** 56429,56435 **** (line 260) * mno-quad-memory-atomic: RS/6000 and PowerPC Options. (line 266) ! * mno-red-zone: x86 Options. (line 1217) * mno-register-names: IA-64 Options. (line 37) * mno-regnames: RS/6000 and PowerPC Options. (line 833) --- 56535,56541 ---- (line 260) * mno-quad-memory-atomic: RS/6000 and PowerPC Options. (line 266) ! * mno-red-zone: x86 Options. (line 1248) * mno-register-names: IA-64 Options. (line 37) * mno-regnames: RS/6000 and PowerPC Options. (line 833) *************** look up both forms. *** 56693,56699 **** * msatur: MeP Options. (line 105) * msave-acc-in-interrupts: RX Options. (line 109) * msave-mduc-in-interrupts: RL78 Options. (line 80) ! * msave-restore: RISC-V Options. (line 50) * msave-toc-indirect: RS/6000 and PowerPC Options. (line 986) * mscc: FRV Options. (line 140) --- 56799,56805 ---- * msatur: MeP Options. (line 105) * msave-acc-in-interrupts: RX Options. (line 109) * msave-mduc-in-interrupts: RL78 Options. (line 80) ! * msave-restore: RISC-V Options. (line 65) * msave-toc-indirect: RS/6000 and PowerPC Options. (line 986) * mscc: FRV Options. (line 140) *************** look up both forms. *** 56785,56791 **** * msmall: MSP430 Options. (line 55) * msmall-data: DEC Alpha Options. (line 187) * msmall-data-limit <1>: RX Options. (line 47) ! * msmall-data-limit: RISC-V Options. (line 45) * msmall-divides: MicroBlaze Options. (line 39) * msmall-exec: S/390 and zSeries Options. (line 80) --- 56891,56897 ---- * msmall: MSP430 Options. (line 55) * msmall-data: DEC Alpha Options. (line 187) * msmall-data-limit <1>: RX Options. (line 47) ! * msmall-data-limit: RISC-V Options. (line 60) * msmall-divides: MicroBlaze Options. (line 39) * msmall-exec: S/390 and zSeries Options. (line 80) *************** look up both forms. *** 56859,56865 **** * mstdmain: SPU Options. (line 40) * mstrict-align <1>: RS/6000 and PowerPC Options. (line 542) ! * mstrict-align <2>: M680x0 Options. (line 287) * mstrict-align: AArch64 Options. (line 50) * mstrict-X: AVR Options. (line 222) * mstring: RS/6000 and PowerPC Options. --- 56965,56972 ---- * mstdmain: SPU Options. (line 40) * mstrict-align <1>: RS/6000 and PowerPC Options. (line 542) ! * mstrict-align <2>: RISC-V Options. (line 71) ! * mstrict-align <3>: M680x0 Options. (line 287) * mstrict-align: AArch64 Options. (line 50) * mstrict-X: AVR Options. (line 222) * mstring: RS/6000 and PowerPC Options. *************** look up both forms. *** 56921,56927 **** (line 164) * mtune <5>: RS/6000 and PowerPC Options. (line 114) ! * mtune <6>: RISC-V Options. (line 41) * mtune <7>: MN10300 Options. (line 30) * mtune <8>: MIPS Options. (line 65) * mtune <9>: M680x0 Options. (line 70) --- 57028,57034 ---- (line 164) * mtune <5>: RS/6000 and PowerPC Options. (line 114) ! * mtune <6>: RISC-V Options. (line 56) * mtune <7>: MN10300 Options. (line 30) * mtune <8>: MIPS Options. (line 65) * mtune <9>: M680x0 Options. (line 70) *************** look up both forms. *** 57014,57020 **** * mwindows: x86 Windows Options. (line 41) * mword-relocations: ARM Options. (line 352) ! * mx32: x86 Options. (line 1197) * mxgot <1>: MIPS Options. (line 231) * mxgot: M680x0 Options. (line 319) * mxilinx-fpu: RS/6000 and PowerPC Options. --- 57121,57127 ---- * mwindows: x86 Windows Options. (line 41) * mword-relocations: ARM Options. (line 352) ! * mx32: x86 Options. (line 1228) * mxgot <1>: MIPS Options. (line 231) * mxgot: M680x0 Options. (line 319) * mxilinx-fpu: RS/6000 and PowerPC Options. *************** look up both forms. *** 57102,57108 **** (line 25) * pie: Link Options. (line 105) * pipe: Overall Options. (line 334) ! * plt: RISC-V Options. (line 17) * prebind: Darwin Options. (line 196) * prebind_all_twolevel_modules: Darwin Options. (line 196) * print-file-name: Developer Options. (line 898) --- 57209,57215 ---- (line 25) * pie: Link Options. (line 105) * pipe: Overall Options. (line 334) ! * plt: RISC-V Options. (line 13) * prebind: Darwin Options. (line 196) * prebind_all_twolevel_modules: Darwin Options. (line 196) * print-file-name: Developer Options. (line 898) *************** Keyword Index *** 57912,57918 **** * __builtin_cpu_is: PowerPC Built-in Functions. (line 18) * __builtin_cpu_supports <1>: x86 Built-in Functions. ! (line 173) * __builtin_cpu_supports: PowerPC Built-in Functions. (line 90) * __builtin_ctz: Other Builtins. (line 692) --- 58019,58025 ---- * __builtin_cpu_is: PowerPC Built-in Functions. (line 18) * __builtin_cpu_supports <1>: x86 Built-in Functions. ! (line 176) * __builtin_cpu_supports: PowerPC Built-in Functions. (line 90) * __builtin_ctz: Other Builtins. (line 692) *************** Keyword Index *** 58063,58068 **** --- 58170,58176 ---- (line 36) * __builtin_sh_set_fpscr: SH Built-in Functions. (line 39) + * __builtin_shuffle: Vector Extensions. (line 126) * __builtin_smul_overflow: Integer Overflow Builtins. (line 68) * __builtin_smull_overflow: Integer Overflow Builtins. *************** Keyword Index *** 58774,58779 **** --- 58882,58889 ---- * function versions: Function Multiversioning. (line 6) * function, size of pointer to: Pointer Arith. (line 6) + * function_return function attribute, x86: x86 Function Attributes. + (line 300) * function_vector function attribute, H8/300: H8/300 Function Attributes. (line 9) * function_vector function attribute, M16C/M32C: M32C Function Attributes. *************** Keyword Index *** 58904,58909 **** --- 59014,59021 ---- (line 10) * indirect functions: Common Function Attributes. (line 397) + * indirect_branch function attribute, x86: x86 Function Attributes. + (line 290) * init_priority variable attribute: C++ Attributes. (line 50) * initializations in expressions: Compound Literals. (line 6) * initializers with labeled elements: Designated Inits. (line 6) *************** Node: G++ and GCC4003 *** 60129,60525 **** Node: Standards6080 Node: Invoking GCC19100 Node: Option Summary23302 ! Node: Overall Options72298 ! Node: Invoking G++86881 ! Node: C Dialect Options88404 ! Node: C++ Dialect Options107111 ! Node: Objective-C and Objective-C++ Dialect Options142597 ! Node: Diagnostic Message Formatting Options153833 ! Node: Warning Options161300 ! Ref: Wtrigraphs241779 ! Node: Debugging Options274432 ! Node: Optimize Options288882 ! Ref: Type-punning351573 ! Node: Instrumentation Options441986 ! Node: Preprocessor Options477259 ! Ref: dashMF482105 ! Ref: fdollars-in-identifiers486617 ! Node: Assembler Options498416 ! Node: Link Options499108 ! Ref: Link Options-Footnote-1513010 ! Node: Directory Options513344 ! Node: Code Gen Options521731 ! Node: Developer Options549997 ! Node: Submodel Options588934 ! Node: AArch64 Options590668 ! Ref: aarch64-feature-modifiers599645 ! Node: Adapteva Epiphany Options600589 ! Node: ARC Options606539 ! Node: ARM Options625176 ! Node: AVR Options645283 ! Node: Blackfin Options667170 ! Node: C6X Options675185 ! Node: CRIS Options676728 ! Node: CR16 Options680472 ! Node: Darwin Options681379 ! Node: DEC Alpha Options688820 ! Node: FR30 Options700408 ! Node: FT32 Options700974 ! Node: FRV Options701700 ! Node: GNU/Linux Options708419 ! Node: H8/300 Options709801 ! Node: HPPA Options711251 ! Node: IA-64 Options720782 ! Node: LM32 Options728908 ! Node: M32C Options729432 ! Node: M32R/D Options730706 ! Node: M680x0 Options734252 ! Node: MCore Options748415 ! Node: MeP Options749918 ! Node: MicroBlaze Options753878 ! Node: MIPS Options756674 ! Node: MMIX Options792186 ! Node: MN10300 Options794668 ! Node: Moxie Options797211 ! Node: MSP430 Options797699 ! Node: NDS32 Options802409 ! Node: Nios II Options804303 ! Node: Nvidia PTX Options815224 ! Node: PDP-11 Options817484 ! Node: picoChip Options819181 ! Node: PowerPC Options821322 ! Node: RISC-V Options821545 ! Node: RL78 Options823027 ! Node: RS/6000 and PowerPC Options826804 ! Node: RX Options869849 ! Node: S/390 and zSeries Options878452 ! Node: Score Options888912 ! Node: SH Options889754 ! Node: Solaris 2 Options904912 ! Node: SPARC Options906156 ! Node: SPU Options921774 ! Node: System V Options926711 ! Node: TILE-Gx Options927537 ! Node: TILEPro Options928555 ! Node: V850 Options929059 ! Node: VAX Options935751 ! Node: Visium Options936289 ! Node: VMS Options938597 ! Node: VxWorks Options939411 ! Node: x86 Options940563 ! Node: x86 Windows Options993141 ! Node: Xstormy16 Options995949 ! Node: Xtensa Options996243 ! Node: zSeries Options1001392 ! Node: Spec Files1001588 ! Node: Environment Variables1023466 ! Node: Precompiled Headers1032191 ! Node: C Implementation1038208 ! Node: Translation implementation1039897 ! Node: Environment implementation1040489 ! Node: Identifiers implementation1041044 ! Node: Characters implementation1042131 ! Node: Integers implementation1045782 ! Node: Floating point implementation1047832 ! Node: Arrays and pointers implementation1050897 ! Ref: Arrays and pointers implementation-Footnote-11052356 ! Node: Hints implementation1052480 ! Node: Structures unions enumerations and bit-fields implementation1053977 ! Node: Qualifiers implementation1056202 ! Node: Declarators implementation1057982 ! Node: Statements implementation1058324 ! Node: Preprocessing directives implementation1058651 ! Node: Library functions implementation1060973 ! Node: Architecture implementation1061623 ! Node: Locale-specific behavior implementation1063265 ! Node: C++ Implementation1063570 ! Node: Conditionally-supported behavior1064852 ! Node: Exception handling1065470 ! Node: C Extensions1065879 ! Node: Statement Exprs1071163 ! Node: Local Labels1075639 ! Node: Labels as Values1078612 ! Ref: Labels as Values-Footnote-11081137 ! Node: Nested Functions1081320 ! Node: Constructing Calls1085278 ! Node: Typeof1089996 ! Node: Conditionals1093924 ! Node: __int1281094814 ! Node: Long Long1095338 ! Node: Complex1096814 ! Node: Floating Types1099399 ! Node: Half-Precision1102864 ! Node: Decimal Float1105269 ! Node: Hex Floats1107122 ! Node: Fixed-Point1108158 ! Node: Named Address Spaces1111438 ! Ref: AVR Named Address Spaces1112124 ! Node: Zero Length1118458 ! Node: Empty Structures1121497 ! Node: Variable Length1121903 ! Node: Variadic Macros1124621 ! Node: Escaped Newlines1126999 ! Node: Subscripting1127860 ! Node: Pointer Arith1128586 ! Node: Pointers to Arrays1129160 ! Node: Initializers1129904 ! Node: Compound Literals1130405 ! Node: Designated Inits1133972 ! Node: Case Ranges1137708 ! Node: Cast to Union1138389 ! Node: Mixed Declarations1139515 ! Node: Function Attributes1140025 ! Node: Common Function Attributes1143139 ! Node: AArch64 Function Attributes1189595 ! Node: ARC Function Attributes1195002 ! Node: ARM Function Attributes1196694 ! Node: AVR Function Attributes1200352 ! Node: Blackfin Function Attributes1203823 ! Node: CR16 Function Attributes1206319 ! Node: Epiphany Function Attributes1206846 ! Node: H8/300 Function Attributes1209597 ! Node: IA-64 Function Attributes1210793 ! Node: M32C Function Attributes1211835 ! Node: M32R/D Function Attributes1214170 ! Node: m68k Function Attributes1215643 ! Node: MCORE Function Attributes1216587 ! Node: MeP Function Attributes1217395 ! Node: MicroBlaze Function Attributes1218696 ! Node: Microsoft Windows Function Attributes1220202 ! Node: MIPS Function Attributes1224785 ! Node: MSP430 Function Attributes1230342 ! Node: NDS32 Function Attributes1234187 ! Node: Nios II Function Attributes1236606 ! Node: Nvidia PTX Function Attributes1237900 ! Node: PowerPC Function Attributes1238515 ! Node: RL78 Function Attributes1245522 ! Node: RX Function Attributes1246759 ! Node: S/390 Function Attributes1249295 ! Node: SH Function Attributes1251114 ! Node: SPU Function Attributes1254538 ! Node: Symbian OS Function Attributes1255343 ! Node: V850 Function Attributes1255680 ! Node: Visium Function Attributes1256225 ! Node: x86 Function Attributes1256753 ! Node: Xstormy16 Function Attributes1268172 ! Node: Variable Attributes1268679 ! Node: Common Variable Attributes1270141 ! Node: AVR Variable Attributes1281247 ! Node: Blackfin Variable Attributes1286516 ! Node: H8/300 Variable Attributes1287375 ! Node: IA-64 Variable Attributes1288449 ! Node: M32R/D Variable Attributes1289200 ! Node: MeP Variable Attributes1289983 ! Node: Microsoft Windows Variable Attributes1292086 ! Node: MSP430 Variable Attributes1294545 ! Node: Nvidia PTX Variable Attributes1295744 ! Node: PowerPC Variable Attributes1296361 ! Node: RL78 Variable Attributes1296918 ! Node: SPU Variable Attributes1297336 ! Node: V850 Variable Attributes1297701 ! Node: x86 Variable Attributes1298333 ! Node: Xstormy16 Variable Attributes1299389 ! Node: Type Attributes1299964 ! Node: Common Type Attributes1301283 ! Node: ARM Type Attributes1316767 ! Node: MeP Type Attributes1317551 ! Node: PowerPC Type Attributes1317953 ! Node: SPU Type Attributes1318942 ! Node: x86 Type Attributes1319361 ! Node: Label Attributes1320349 ! Node: Enumerator Attributes1322283 ! Node: Statement Attributes1323603 ! Node: Attribute Syntax1325087 ! Node: Function Prototypes1336348 ! Node: C++ Comments1338129 ! Node: Dollar Signs1338648 ! Node: Character Escapes1339113 ! Node: Alignment1339397 ! Node: Inline1340769 ! Node: Volatiles1345571 ! Node: Using Assembly Language with C1348471 ! Node: Basic Asm1349708 ! Node: Extended Asm1354885 ! Ref: Volatile1358682 ! Ref: AssemblerTemplate1362754 ! Ref: OutputOperands1366979 ! Ref: FlagOutputOperands1373891 ! Ref: InputOperands1375906 ! Ref: Clobbers1380141 ! Ref: GotoLabels1383447 ! Ref: x86Operandmodifiers1385580 ! Ref: x86floatingpointasmoperands1387754 ! Node: Constraints1391084 ! Node: Simple Constraints1392190 ! Node: Multi-Alternative1399515 ! Node: Modifiers1401190 ! Node: Machine Constraints1403987 ! Node: Asm Labels1462113 ! Node: Explicit Register Variables1463733 ! Ref: Explicit Reg Vars1463947 ! Node: Global Register Variables1464556 ! Ref: Global Reg Vars1464764 ! Node: Local Register Variables1468606 ! Ref: Local Reg Vars1468826 ! Node: Size of an asm1472136 ! Node: Alternate Keywords1473391 ! Node: Incomplete Enums1474890 ! Node: Function Names1475647 ! Node: Return Address1477545 ! Node: Vector Extensions1481486 ! Node: Offsetof1488771 ! Node: __sync Builtins1489612 ! Node: __atomic Builtins1496057 ! Node: Integer Overflow Builtins1509547 ! Node: x86 specific memory model extensions for transactional memory1516026 ! Node: Object Size Checking1517292 ! Node: Pointer Bounds Checker builtins1523320 ! Node: Cilk Plus Builtins1529326 ! Node: Other Builtins1530243 ! Node: Target Builtins1567223 ! Node: AArch64 Built-in Functions1568792 ! Node: Alpha Built-in Functions1569247 ! Node: Altera Nios II Built-in Functions1572295 ! Node: ARC Built-in Functions1576662 ! Node: ARC SIMD Built-in Functions1581873 ! Node: ARM iWMMXt Built-in Functions1590769 ! Node: ARM C Language Extensions (ACLE)1597765 ! Node: ARM Floating Point Status and Control Intrinsics1599104 ! Node: ARM ARMv8-M Security Extensions1599589 ! Node: AVR Built-in Functions1600935 ! Node: Blackfin Built-in Functions1604263 ! Node: FR-V Built-in Functions1604882 ! Node: Argument Types1605748 ! Node: Directly-mapped Integer Functions1607502 ! Node: Directly-mapped Media Functions1608586 ! Node: Raw read/write Functions1615620 ! Node: Other Built-in Functions1616534 ! Node: MIPS DSP Built-in Functions1617720 ! Node: MIPS Paired-Single Support1630218 ! Node: MIPS Loongson Built-in Functions1631717 ! Node: Paired-Single Arithmetic1638244 ! Node: Paired-Single Built-in Functions1639192 ! Node: MIPS-3D Built-in Functions1641859 ! Node: MIPS SIMD Architecture (MSA) Support1647236 ! Node: MIPS SIMD Architecture Built-in Functions1650099 ! Node: Other MIPS Built-in Functions1676929 ! Node: MSP430 Built-in Functions1677938 ! Node: NDS32 Built-in Functions1679339 ! Node: picoChip Built-in Functions1680632 ! Node: PowerPC Built-in Functions1681976 ! Node: PowerPC AltiVec/VSX Built-in Functions1707891 ! Node: PowerPC Hardware Transactional Memory Built-in Functions1863999 ! Node: RX Built-in Functions1872490 ! Node: S/390 System z Built-in Functions1876523 ! Node: SH Built-in Functions1881758 ! Node: SPARC VIS Built-in Functions1883486 ! Node: SPU Built-in Functions1892016 ! Node: TI C6X Built-in Functions1893732 ! Node: TILE-Gx Built-in Functions1894756 ! Node: TILEPro Built-in Functions1895873 ! Node: x86 Built-in Functions1896971 ! Node: x86 transactional memory intrinsics1957152 ! Node: Target Format Checks1960372 ! Node: Solaris Format Checks1960804 ! Node: Darwin Format Checks1961230 ! Node: Pragmas1962048 ! Node: AArch64 Pragmas1962821 ! Node: ARM Pragmas1963278 ! Node: M32C Pragmas1963905 ! Node: MeP Pragmas1964979 ! Node: RS/6000 and PowerPC Pragmas1967048 ! Node: S/390 Pragmas1967788 ! Node: Darwin Pragmas1968354 ! Node: Solaris Pragmas1969407 ! Node: Symbol-Renaming Pragmas1970568 ! Node: Structure-Layout Pragmas1972181 ! Node: Weak Pragmas1974468 ! Node: Diagnostic Pragmas1975203 ! Node: Visibility Pragmas1978310 ! Node: Push/Pop Macro Pragmas1978995 ! Node: Function Specific Option Pragmas1979967 ! Node: Loop-Specific Pragmas1981812 ! Node: Unnamed Fields1982902 ! Node: Thread-Local1985100 ! Node: C99 Thread-Local Edits1987206 ! Node: C++98 Thread-Local Edits1989218 ! Node: Binary constants1992662 ! Node: C++ Extensions1993333 ! Node: C++ Volatiles1994963 ! Node: Restricted Pointers1997311 ! Node: Vague Linkage1998902 ! Node: C++ Interface2002526 ! Ref: C++ Interface-Footnote-12006319 ! Node: Template Instantiation2006455 ! Node: Bound member functions2013939 ! Node: C++ Attributes2015471 ! Node: Function Multiversioning2019541 ! Node: Type Traits2021346 ! Node: C++ Concepts2027834 ! Node: Deprecated Features2029329 ! Node: Backwards Compatibility2032291 ! Node: Objective-C2033643 ! Node: GNU Objective-C runtime API2034252 ! Node: Modern GNU Objective-C runtime API2035259 ! Node: Traditional GNU Objective-C runtime API2037696 ! Node: Executing code before main2038424 ! Node: What you can and what you cannot do in +load2041166 ! Node: Type encoding2043538 ! Node: Legacy type encoding2048878 ! Node: @encode2049969 ! Node: Method signatures2050514 ! Node: Garbage Collection2052509 ! Node: Constant string objects2055198 ! Node: compatibility_alias2057706 ! Node: Exceptions2058432 ! Node: Synchronization2061143 ! Node: Fast enumeration2062327 ! Node: Using fast enumeration2062639 ! Node: c99-like fast enumeration syntax2063850 ! Node: Fast enumeration details2064553 ! Node: Fast enumeration protocol2066894 ! Node: Messaging with the GNU Objective-C runtime2070046 ! Node: Dynamically registering methods2071417 ! Node: Forwarding hook2073108 ! Node: Compatibility2076149 ! Node: Gcov2082716 ! Node: Gcov Intro2083251 ! Node: Invoking Gcov2085969 ! Node: Gcov and Optimization2100843 ! Node: Gcov Data Files2104073 ! Node: Cross-profiling2105468 ! Node: Gcov-tool2107319 ! Node: Gcov-tool Intro2107744 ! Node: Invoking Gcov-tool2109705 ! Node: Gcov-dump2112250 ! Node: Gcov-dump Intro2112572 ! Node: Invoking Gcov-dump2112839 ! Node: Trouble2113508 ! Node: Actual Bugs2114926 ! Node: Interoperation2115373 ! Node: Incompatibilities2122265 ! Node: Fixed Headers2130416 ! Node: Standard Libraries2132079 ! Node: Disappointments2133451 ! Node: C++ Misunderstandings2137809 ! Node: Static Definitions2138620 ! Node: Name lookup2139673 ! Ref: Name lookup-Footnote-12144452 ! Node: Temporaries2144639 ! Node: Copy Assignment2146615 ! Node: Non-bugs2148422 ! Node: Warnings and Errors2158929 ! Node: Bugs2160691 ! Node: Bug Criteria2161158 ! Node: Bug Reporting2163368 ! Node: Service2163586 ! Node: Contributing2164405 ! Node: Funding2165145 ! Node: GNU Project2167634 ! Node: Copying2168280 ! Node: GNU Free Documentation License2205808 ! Node: Contributors2230945 ! Node: Option Index2270388 ! Node: Keyword Index2511995  End Tag Table --- 60241,60637 ---- Node: Standards6080 Node: Invoking GCC19100 Node: Option Summary23302 ! Node: Overall Options72419 ! Node: Invoking G++87002 ! Node: C Dialect Options88525 ! Node: C++ Dialect Options107232 ! Node: Objective-C and Objective-C++ Dialect Options142718 ! Node: Diagnostic Message Formatting Options153954 ! Node: Warning Options161421 ! Ref: Wtrigraphs241900 ! Node: Debugging Options274553 ! Node: Optimize Options289003 ! Ref: Type-punning351694 ! Node: Instrumentation Options442107 ! Node: Preprocessor Options477416 ! Ref: dashMF482262 ! Ref: fdollars-in-identifiers486774 ! Node: Assembler Options498573 ! Node: Link Options499265 ! Ref: Link Options-Footnote-1513167 ! Node: Directory Options513501 ! Node: Code Gen Options521888 ! Node: Developer Options550154 ! Node: Submodel Options589091 ! Node: AArch64 Options590825 ! Ref: aarch64-feature-modifiers599802 ! Node: Adapteva Epiphany Options600746 ! Node: ARC Options606696 ! Node: ARM Options625333 ! Node: AVR Options645440 ! Node: Blackfin Options667327 ! Node: C6X Options675342 ! Node: CRIS Options676885 ! Node: CR16 Options680629 ! Node: Darwin Options681536 ! Node: DEC Alpha Options688977 ! Node: FR30 Options700565 ! Node: FT32 Options701131 ! Node: FRV Options701857 ! Node: GNU/Linux Options708576 ! Node: H8/300 Options709958 ! Node: HPPA Options711408 ! Node: IA-64 Options720939 ! Node: LM32 Options729065 ! Node: M32C Options729589 ! Node: M32R/D Options730863 ! Node: M680x0 Options734409 ! Node: MCore Options748572 ! Node: MeP Options750075 ! Node: MicroBlaze Options754035 ! Node: MIPS Options756831 ! Node: MMIX Options792343 ! Node: MN10300 Options794825 ! Node: Moxie Options797368 ! Node: MSP430 Options797856 ! Node: NDS32 Options802566 ! Node: Nios II Options804460 ! Node: Nvidia PTX Options815381 ! Node: PDP-11 Options817641 ! Node: picoChip Options819338 ! Node: PowerPC Options821479 ! Node: RISC-V Options821702 ! Node: RL78 Options825462 ! Node: RS/6000 and PowerPC Options829239 ! Node: RX Options872284 ! Node: S/390 and zSeries Options880887 ! Node: Score Options891347 ! Node: SH Options892189 ! Node: Solaris 2 Options907347 ! Node: SPARC Options908591 ! Node: SPU Options924209 ! Node: System V Options929146 ! Node: TILE-Gx Options929972 ! Node: TILEPro Options930990 ! Node: V850 Options931494 ! Node: VAX Options938186 ! Node: Visium Options938724 ! Node: VMS Options941032 ! Node: VxWorks Options941846 ! Node: x86 Options942998 ! Node: x86 Windows Options997177 ! Node: Xstormy16 Options999985 ! Node: Xtensa Options1000279 ! Node: zSeries Options1005428 ! Node: Spec Files1005624 ! Node: Environment Variables1027502 ! Node: Precompiled Headers1036227 ! Node: C Implementation1042244 ! Node: Translation implementation1043933 ! Node: Environment implementation1044525 ! Node: Identifiers implementation1045080 ! Node: Characters implementation1046167 ! Node: Integers implementation1049818 ! Node: Floating point implementation1051868 ! Node: Arrays and pointers implementation1054933 ! Ref: Arrays and pointers implementation-Footnote-11056392 ! Node: Hints implementation1056516 ! Node: Structures unions enumerations and bit-fields implementation1058013 ! Node: Qualifiers implementation1060238 ! Node: Declarators implementation1062018 ! Node: Statements implementation1062360 ! Node: Preprocessing directives implementation1062687 ! Node: Library functions implementation1065009 ! Node: Architecture implementation1065659 ! Node: Locale-specific behavior implementation1067301 ! Node: C++ Implementation1067606 ! Node: Conditionally-supported behavior1068888 ! Node: Exception handling1069506 ! Node: C Extensions1069915 ! Node: Statement Exprs1075199 ! Node: Local Labels1079675 ! Node: Labels as Values1082648 ! Ref: Labels as Values-Footnote-11085173 ! Node: Nested Functions1085356 ! Node: Constructing Calls1089314 ! Node: Typeof1094032 ! Node: Conditionals1097960 ! Node: __int1281098850 ! Node: Long Long1099374 ! Node: Complex1100850 ! Node: Floating Types1103435 ! Node: Half-Precision1106900 ! Node: Decimal Float1109305 ! Node: Hex Floats1111158 ! Node: Fixed-Point1112194 ! Node: Named Address Spaces1115474 ! Ref: AVR Named Address Spaces1116160 ! Node: Zero Length1122494 ! Node: Empty Structures1125533 ! Node: Variable Length1125939 ! Node: Variadic Macros1128657 ! Node: Escaped Newlines1131035 ! Node: Subscripting1131896 ! Node: Pointer Arith1132622 ! Node: Pointers to Arrays1133196 ! Node: Initializers1133940 ! Node: Compound Literals1134441 ! Node: Designated Inits1138008 ! Node: Case Ranges1141744 ! Node: Cast to Union1142425 ! Node: Mixed Declarations1143551 ! Node: Function Attributes1144061 ! Node: Common Function Attributes1147175 ! Node: AArch64 Function Attributes1193631 ! Node: ARC Function Attributes1199038 ! Node: ARM Function Attributes1200730 ! Node: AVR Function Attributes1204388 ! Node: Blackfin Function Attributes1207859 ! Node: CR16 Function Attributes1210355 ! Node: Epiphany Function Attributes1210882 ! Node: H8/300 Function Attributes1213633 ! Node: IA-64 Function Attributes1214829 ! Node: M32C Function Attributes1215871 ! Node: M32R/D Function Attributes1218206 ! Node: m68k Function Attributes1219679 ! Node: MCORE Function Attributes1220623 ! Node: MeP Function Attributes1221431 ! Node: MicroBlaze Function Attributes1222732 ! Node: Microsoft Windows Function Attributes1224238 ! Node: MIPS Function Attributes1228821 ! Node: MSP430 Function Attributes1234378 ! Node: NDS32 Function Attributes1238223 ! Node: Nios II Function Attributes1240642 ! Node: Nvidia PTX Function Attributes1241936 ! Node: PowerPC Function Attributes1242551 ! Node: RL78 Function Attributes1249558 ! Node: RX Function Attributes1250795 ! Node: S/390 Function Attributes1253331 ! Node: SH Function Attributes1255150 ! Node: SPU Function Attributes1258574 ! Node: Symbian OS Function Attributes1259379 ! Node: V850 Function Attributes1259716 ! Node: Visium Function Attributes1260261 ! Node: x86 Function Attributes1260789 ! Node: Xstormy16 Function Attributes1273248 ! Node: Variable Attributes1273755 ! Node: Common Variable Attributes1275217 ! Node: AVR Variable Attributes1286323 ! Node: Blackfin Variable Attributes1291592 ! Node: H8/300 Variable Attributes1292451 ! Node: IA-64 Variable Attributes1293525 ! Node: M32R/D Variable Attributes1294276 ! Node: MeP Variable Attributes1295059 ! Node: Microsoft Windows Variable Attributes1297162 ! Node: MSP430 Variable Attributes1299621 ! Node: Nvidia PTX Variable Attributes1300820 ! Node: PowerPC Variable Attributes1301437 ! Node: RL78 Variable Attributes1301994 ! Node: SPU Variable Attributes1302412 ! Node: V850 Variable Attributes1302777 ! Node: x86 Variable Attributes1303409 ! Node: Xstormy16 Variable Attributes1304465 ! Node: Type Attributes1305040 ! Node: Common Type Attributes1306359 ! Node: ARM Type Attributes1321843 ! Node: MeP Type Attributes1322627 ! Node: PowerPC Type Attributes1323029 ! Node: SPU Type Attributes1324018 ! Node: x86 Type Attributes1324437 ! Node: Label Attributes1325425 ! Node: Enumerator Attributes1327359 ! Node: Statement Attributes1328679 ! Node: Attribute Syntax1330163 ! Node: Function Prototypes1341424 ! Node: C++ Comments1343205 ! Node: Dollar Signs1343724 ! Node: Character Escapes1344189 ! Node: Alignment1344473 ! Node: Inline1345845 ! Node: Volatiles1350647 ! Node: Using Assembly Language with C1353547 ! Node: Basic Asm1354784 ! Node: Extended Asm1359961 ! Ref: Volatile1363758 ! Ref: AssemblerTemplate1367830 ! Ref: OutputOperands1372055 ! Ref: FlagOutputOperands1378967 ! Ref: InputOperands1380982 ! Ref: Clobbers1385217 ! Ref: GotoLabels1388523 ! Ref: x86Operandmodifiers1390656 ! Ref: x86floatingpointasmoperands1392922 ! Node: Constraints1396252 ! Node: Simple Constraints1397358 ! Node: Multi-Alternative1404683 ! Node: Modifiers1406358 ! Node: Machine Constraints1409155 ! Node: Asm Labels1467281 ! Node: Explicit Register Variables1468901 ! Ref: Explicit Reg Vars1469115 ! Node: Global Register Variables1469724 ! Ref: Global Reg Vars1469932 ! Node: Local Register Variables1473774 ! Ref: Local Reg Vars1473994 ! Node: Size of an asm1477304 ! Node: Alternate Keywords1478559 ! Node: Incomplete Enums1480058 ! Node: Function Names1480815 ! Node: Return Address1482713 ! Node: Vector Extensions1486654 ! Node: Offsetof1493939 ! Node: __sync Builtins1494780 ! Node: __atomic Builtins1501225 ! Node: Integer Overflow Builtins1514715 ! Node: x86 specific memory model extensions for transactional memory1521194 ! Node: Object Size Checking1522460 ! Node: Pointer Bounds Checker builtins1528488 ! Node: Cilk Plus Builtins1534494 ! Node: Other Builtins1535411 ! Node: Target Builtins1572391 ! Node: AArch64 Built-in Functions1573960 ! Node: Alpha Built-in Functions1574415 ! Node: Altera Nios II Built-in Functions1577463 ! Node: ARC Built-in Functions1581830 ! Node: ARC SIMD Built-in Functions1587041 ! Node: ARM iWMMXt Built-in Functions1595937 ! Node: ARM C Language Extensions (ACLE)1602933 ! Node: ARM Floating Point Status and Control Intrinsics1604272 ! Node: ARM ARMv8-M Security Extensions1604757 ! Node: AVR Built-in Functions1606103 ! Node: Blackfin Built-in Functions1609431 ! Node: FR-V Built-in Functions1610050 ! Node: Argument Types1610916 ! Node: Directly-mapped Integer Functions1612670 ! Node: Directly-mapped Media Functions1613754 ! Node: Raw read/write Functions1620788 ! Node: Other Built-in Functions1621702 ! Node: MIPS DSP Built-in Functions1622888 ! Node: MIPS Paired-Single Support1635386 ! Node: MIPS Loongson Built-in Functions1636885 ! Node: Paired-Single Arithmetic1643412 ! Node: Paired-Single Built-in Functions1644360 ! Node: MIPS-3D Built-in Functions1647027 ! Node: MIPS SIMD Architecture (MSA) Support1652404 ! Node: MIPS SIMD Architecture Built-in Functions1655267 ! Node: Other MIPS Built-in Functions1682097 ! Node: MSP430 Built-in Functions1683106 ! Node: NDS32 Built-in Functions1684507 ! Node: picoChip Built-in Functions1685800 ! Node: PowerPC Built-in Functions1687144 ! Node: PowerPC AltiVec/VSX Built-in Functions1713059 ! Node: PowerPC Hardware Transactional Memory Built-in Functions1869167 ! Node: RX Built-in Functions1877658 ! Node: S/390 System z Built-in Functions1881691 ! Node: SH Built-in Functions1886926 ! Node: SPARC VIS Built-in Functions1888654 ! Node: SPU Built-in Functions1897184 ! Node: TI C6X Built-in Functions1898900 ! Node: TILE-Gx Built-in Functions1899924 ! Node: TILEPro Built-in Functions1901041 ! Node: x86 Built-in Functions1902139 ! Node: x86 transactional memory intrinsics1962378 ! Node: Target Format Checks1965598 ! Node: Solaris Format Checks1966030 ! Node: Darwin Format Checks1966456 ! Node: Pragmas1967274 ! Node: AArch64 Pragmas1968047 ! Node: ARM Pragmas1968504 ! Node: M32C Pragmas1969131 ! Node: MeP Pragmas1970205 ! Node: RS/6000 and PowerPC Pragmas1972274 ! Node: S/390 Pragmas1973014 ! Node: Darwin Pragmas1973580 ! Node: Solaris Pragmas1974633 ! Node: Symbol-Renaming Pragmas1975794 ! Node: Structure-Layout Pragmas1977407 ! Node: Weak Pragmas1979694 ! Node: Diagnostic Pragmas1980429 ! Node: Visibility Pragmas1983536 ! Node: Push/Pop Macro Pragmas1984221 ! Node: Function Specific Option Pragmas1985193 ! Node: Loop-Specific Pragmas1987038 ! Node: Unnamed Fields1988128 ! Node: Thread-Local1990326 ! Node: C99 Thread-Local Edits1992432 ! Node: C++98 Thread-Local Edits1994444 ! Node: Binary constants1997888 ! Node: C++ Extensions1998559 ! Node: C++ Volatiles2000189 ! Node: Restricted Pointers2002537 ! Node: Vague Linkage2004128 ! Node: C++ Interface2007752 ! Ref: C++ Interface-Footnote-12011545 ! Node: Template Instantiation2011681 ! Node: Bound member functions2019165 ! Node: C++ Attributes2020697 ! Node: Function Multiversioning2024767 ! Node: Type Traits2026572 ! Node: C++ Concepts2033060 ! Node: Deprecated Features2034555 ! Node: Backwards Compatibility2037517 ! Node: Objective-C2038869 ! Node: GNU Objective-C runtime API2039478 ! Node: Modern GNU Objective-C runtime API2040485 ! Node: Traditional GNU Objective-C runtime API2042922 ! Node: Executing code before main2043650 ! Node: What you can and what you cannot do in +load2046392 ! Node: Type encoding2048764 ! Node: Legacy type encoding2054104 ! Node: @encode2055195 ! Node: Method signatures2055740 ! Node: Garbage Collection2057735 ! Node: Constant string objects2060424 ! Node: compatibility_alias2062932 ! Node: Exceptions2063658 ! Node: Synchronization2066369 ! Node: Fast enumeration2067553 ! Node: Using fast enumeration2067865 ! Node: c99-like fast enumeration syntax2069076 ! Node: Fast enumeration details2069779 ! Node: Fast enumeration protocol2072120 ! Node: Messaging with the GNU Objective-C runtime2075272 ! Node: Dynamically registering methods2076643 ! Node: Forwarding hook2078334 ! Node: Compatibility2081375 ! Node: Gcov2087942 ! Node: Gcov Intro2088477 ! Node: Invoking Gcov2091195 ! Node: Gcov and Optimization2106413 ! Node: Gcov Data Files2109643 ! Node: Cross-profiling2111038 ! Node: Gcov-tool2112889 ! Node: Gcov-tool Intro2113314 ! Node: Invoking Gcov-tool2115275 ! Node: Gcov-dump2117820 ! Node: Gcov-dump Intro2118142 ! Node: Invoking Gcov-dump2118409 ! Node: Trouble2119078 ! Node: Actual Bugs2120496 ! Node: Interoperation2120943 ! Node: Incompatibilities2127835 ! Node: Fixed Headers2135986 ! Node: Standard Libraries2137649 ! Node: Disappointments2139021 ! Node: C++ Misunderstandings2143379 ! Node: Static Definitions2144190 ! Node: Name lookup2145243 ! Ref: Name lookup-Footnote-12150022 ! Node: Temporaries2150209 ! Node: Copy Assignment2152185 ! Node: Non-bugs2153992 ! Node: Warnings and Errors2164499 ! Node: Bugs2166261 ! Node: Bug Criteria2166728 ! Node: Bug Reporting2168938 ! Node: Service2169156 ! Node: Contributing2169975 ! Node: Funding2170715 ! Node: GNU Project2173204 ! Node: Copying2173850 ! Node: GNU Free Documentation License2211378 ! Node: Contributors2236515 ! Node: Option Index2275958 ! Node: Keyword Index2517857  End Tag Table diff -Nrcpad gcc-7.2.0/gcc/doc/gccinstall.info gcc-7.3.0/gcc/doc/gccinstall.info *** gcc-7.2.0/gcc/doc/gccinstall.info Mon Aug 14 08:30:40 2017 --- gcc-7.3.0/gcc/doc/gccinstall.info Thu Jan 25 08:41:37 2018 *************** *** 1,5 **** This is doc/gccinstall.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/doc/install.texi. Copyright (C) 1988-2017 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gccinstall.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/doc/install.texi. Copyright (C) 1988-2017 Free Software Foundation, Inc. diff -Nrcpad gcc-7.2.0/gcc/doc/gccint.info gcc-7.3.0/gcc/doc/gccint.info *** gcc-7.2.0/gcc/doc/gccint.info Mon Aug 14 08:30:41 2017 --- gcc-7.3.0/gcc/doc/gccint.info Thu Jan 25 08:41:38 2018 *************** *** 1,5 **** This is doc/gccint.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/doc/gccint.texi. Copyright (C) 1988-2017 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gccint.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/doc/gccint.texi. Copyright (C) 1988-2017 Free Software Foundation, Inc. *************** Introduction *** 57,63 **** 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 7.2.0. 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 --- 57,63 ---- 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 7.3.0. 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 *************** specified for the particular test in an *** 4912,4917 **** --- 4912,4922 ---- ARM Target supports `-mfpu=neon -mfloat-abi=softfp' or compatible options. Some multilibs may be incompatible with these options. + `arm_neon_ok_no_float_abi' + ARM Target supports NEON with `-mfpu=neon', but without any + -mfloat-abi= option. Some multilibs may be incompatible with this + option. + `arm_neonv2_ok' ARM Target supports `-mfpu=neon-vfpv4 -mfloat-abi=softfp' or compatible options. Some multilibs may be incompatible with these *************** Node: Selectors215260 *** 52240,52595 **** Node: Effective-Target Keywords216618 Ref: arm_fp_ok224441 Ref: arm_neon_ok225370 ! Ref: arm_neonv2_ok225528 ! Ref: arm_fp16_ok225695 ! Ref: arm_neon_fp16_ok226037 ! Ref: arm_vfp3_ok226913 ! Ref: arm_v8_1a_neon_ok227338 ! Ref: arm_v8_2a_fp16_scalar_ok227764 ! Ref: arm_v8_2a_fp16_neon_ok228211 ! Ref: arm_coproc1_ok229271 ! Ref: arm_coproc2_ok229397 ! Ref: arm_coproc3_ok229630 ! Node: Add Options241497 ! Ref: arm_fp16_ieee242515 ! Ref: arm_fp16_alternative242770 ! Node: Require Support244667 ! Node: Final Actions247174 ! Node: Ada Tests252835 ! Node: C Tests253999 ! Node: LTO Testing258421 ! Node: gcov Testing260063 ! Node: profopt Testing263050 ! Node: compat Testing264765 ! Node: Torture Tests269005 ! Node: GIMPLE Tests270641 ! Node: RTL Tests271884 ! Node: Options273191 ! Node: Option file format273631 ! Node: Option properties280621 ! Node: Passes294602 ! Node: Parsing pass295492 ! Node: Cilk Plus Transformation299027 ! Node: Gimplification pass302414 ! Node: Pass manager304259 ! Node: Tree SSA passes306104 ! Node: RTL passes327665 ! Node: Optimization info339986 ! Node: Dump setup340804 ! Node: Optimization groups341926 ! Node: Dump files and streams342898 ! Node: Dump output verbosity344089 ! Node: Dump types345140 ! Node: Dump examples346630 ! Node: GENERIC347972 ! Node: Deficiencies349847 ! Node: Tree overview350088 ! Node: Macros and Functions354215 ! Node: Identifiers355040 ! Node: Containers356651 ! Node: Types357808 ! Node: Declarations369904 ! Node: Working with declarations370399 ! Node: Internal structure376005 ! Node: Current structure hierarchy376389 ! Node: Adding new DECL node types378483 ! Node: Attributes382768 ! Node: Expression trees384013 ! Node: Constant expressions385766 ! Node: Storage References389072 ! Node: Unary and Binary Expressions392591 ! Node: Vectors412742 ! Node: Statements417933 ! Node: Basic Statements418465 ! Node: Blocks422972 ! Node: Statement Sequences424673 ! Node: Empty Statements425006 ! Node: Jumps425580 ! Node: Cleanups426233 ! Node: OpenMP428001 ! Node: OpenACC433836 ! Node: Functions434868 ! Node: Function Basics435339 ! Node: Function Properties439024 ! Node: Language-dependent trees441806 ! Node: C and C++ Trees442692 ! Node: Types for C++445596 ! Node: Namespaces450574 ! Node: Classes453681 ! Node: Functions for C++458739 ! Node: Statements for C++464992 ! Node: C++ Expressions473766 ! Node: Java Trees475267 ! Node: GIMPLE475380 ! Node: Tuple representation479042 ! Node: Class hierarchy of GIMPLE statements485975 ! Node: GIMPLE instruction set490963 ! Node: GIMPLE Exception Handling492647 ! Node: Temporaries494561 ! Ref: Temporaries-Footnote-1495876 ! Node: Operands495939 ! Node: Compound Expressions496701 ! Node: Compound Lvalues496935 ! Node: Conditional Expressions497697 ! Node: Logical Operators498355 ! Node: Manipulating GIMPLE statements505220 ! Node: Tuple specific accessors511154 ! Node: `GIMPLE_ASM'511991 ! Node: `GIMPLE_ASSIGN'514379 ! Node: `GIMPLE_BIND'519089 ! Node: `GIMPLE_CALL'520908 ! Node: `GIMPLE_CATCH'524941 ! Node: `GIMPLE_COND'526097 ! Node: `GIMPLE_DEBUG'528898 ! Node: `GIMPLE_EH_FILTER'532282 ! Node: `GIMPLE_LABEL'533851 ! Node: `GIMPLE_GOTO'534470 ! Node: `GIMPLE_NOP'534999 ! Node: `GIMPLE_OMP_ATOMIC_LOAD'535367 ! Node: `GIMPLE_OMP_ATOMIC_STORE'536369 ! Node: `GIMPLE_OMP_CONTINUE'537073 ! Node: `GIMPLE_OMP_CRITICAL'538558 ! Node: `GIMPLE_OMP_FOR'539557 ! Node: `GIMPLE_OMP_MASTER'542979 ! Node: `GIMPLE_OMP_ORDERED'543362 ! Node: `GIMPLE_OMP_PARALLEL'543762 ! Node: `GIMPLE_OMP_RETURN'546538 ! Node: `GIMPLE_OMP_SECTION'547188 ! Node: `GIMPLE_OMP_SECTIONS'547854 ! Node: `GIMPLE_OMP_SINGLE'549469 ! Node: `GIMPLE_PHI'550420 ! Node: `GIMPLE_RESX'551704 ! Node: `GIMPLE_RETURN'552429 ! Node: `GIMPLE_SWITCH'553009 ! Node: `GIMPLE_TRY'554888 ! Node: `GIMPLE_WITH_CLEANUP_EXPR'556665 ! Node: GIMPLE sequences557548 ! Node: Sequence iterators560754 ! Node: Adding a new GIMPLE statement code569212 ! Node: Statement and operand traversals570557 ! Node: Tree SSA573157 ! Node: Annotations574943 ! Node: SSA Operands575348 ! Node: SSA589429 ! Node: Alias analysis599135 ! Node: Memory model602915 ! Node: RTL604278 ! Node: RTL Objects606466 ! Node: RTL Classes610340 ! Node: Accessors615387 ! Node: Special Accessors617781 ! Node: Flags623551 ! Node: Machine Modes638313 ! Node: Constants651965 ! Node: Regs and Memory660051 ! Node: Arithmetic677960 ! Node: Comparisons688014 ! Node: Bit-Fields692306 ! Node: Vector Operations693858 ! Node: Conversions695740 ! Node: RTL Declarations700238 ! Node: Side Effects701059 ! Node: Incdec718074 ! Node: Assembler721409 ! Node: Debug Information722954 ! Node: Insns724152 ! Node: Calls750560 ! Node: Sharing753153 ! Node: Reading RTL756263 ! Node: Control Flow757255 ! Node: Basic Blocks759023 ! Node: Edges764479 ! Node: Profile information773101 ! Node: Maintaining the CFG777785 ! Node: Liveness information783554 ! Node: Loop Analysis and Representation785680 ! Node: Loop representation786716 ! Node: Loop querying794281 ! Node: Loop manipulation797119 ! Node: LCSSA799462 ! Node: Scalar evolutions801534 ! Node: loop-iv804778 ! Node: Number of iterations806704 ! Node: Dependency analysis810789 ! Node: Machine Desc817143 ! Node: Overview819706 ! Node: Patterns821747 ! Node: Example825255 ! Node: RTL Template826716 ! Node: Output Template837372 ! Node: Output Statement841337 ! Node: Predicates845676 ! Node: Machine-Independent Predicates848594 ! Node: Defining Predicates853539 ! Node: Constraints859504 ! Node: Simple Constraints860973 ! Node: Multi-Alternative873829 ! Node: Class Preferences877038 ! Node: Modifiers877930 ! Node: Machine Constraints882662 ! Node: Disable Insn Alternatives942040 ! Node: Define Constraints945529 ! Node: C Constraint Interface952926 ! Node: Standard Names956066 ! Ref: shift patterns982122 ! Ref: prologue instruction pattern1033010 ! Ref: window_save instruction pattern1033503 ! Ref: epilogue instruction pattern1033778 ! Node: Pattern Ordering1052662 ! Node: Dependent Patterns1053898 ! Node: Jump Patterns1055518 ! Ref: Jump Patterns-Footnote-11057662 ! Node: Looping Patterns1057708 ! Node: Insn Canonicalizations1062436 ! Node: Expander Definitions1067027 ! Node: Insn Splitting1075239 ! Node: Including Patterns1084841 ! Node: Peephole Definitions1086621 ! Node: define_peephole1087874 ! Node: define_peephole21094205 ! Node: Insn Attributes1097271 ! Node: Defining Attributes1098453 ! Ref: define_enum_attr1101941 ! Node: Expressions1102976 ! Node: Tagging Insns1109725 ! Node: Attr Example1114078 ! Node: Insn Lengths1116452 ! Node: Constant Attributes1119860 ! Node: Mnemonic Attribute1121036 ! Node: Delay Slots1122555 ! Node: Processor pipeline description1125778 ! Ref: Processor pipeline description-Footnote-11144590 ! Node: Conditional Execution1144912 ! Node: Define Subst1148392 ! Node: Define Subst Example1150426 ! Node: Define Subst Pattern Matching1153420 ! Node: Define Subst Output Template1154645 ! Node: Constant Definitions1156715 ! Ref: define_enum1160497 ! Node: Iterators1160985 ! Node: Mode Iterators1161563 ! Node: Defining Mode Iterators1162541 ! Node: Substitutions1164035 ! Node: Examples1166276 ! Node: Code Iterators1167724 ! Node: Int Iterators1170003 ! Node: Subst Iterators1172446 ! Node: Target Macros1174138 ! Node: Target Structure1177150 ! Node: Driver1179265 ! Node: Run-time Target1198233 ! Node: Per-Function Data1207931 ! Node: Storage Layout1210696 ! Node: Type Layout1237662 ! Node: Registers1251007 ! Node: Register Basics1251981 ! Node: Allocation Order1257416 ! Node: Values in Registers1259904 ! Node: Leaf Functions1267393 ! Node: Stack Registers1270251 ! Node: Register Classes1271523 ! Node: Stack and Calling1305138 ! Node: Frame Layout1305744 ! Node: Exception Handling1316595 ! Node: Stack Checking1322815 ! Node: Frame Registers1327655 ! Node: Elimination1335920 ! Node: Stack Arguments1339306 ! Node: Register Arguments1346487 ! Node: Scalar Return1368793 ! Node: Aggregate Return1375248 ! Node: Caller Saves1379436 ! Node: Function Entry1380179 ! Node: Profiling1391281 ! Node: Tail Calls1393395 ! Node: Shrink-wrapping separate components1395306 ! Node: Stack Smashing Protection1398347 ! Node: Miscellaneous Register Hooks1400270 ! Node: Varargs1401136 ! Node: Trampolines1411258 ! Node: Library Calls1418422 ! Node: Addressing Modes1423106 ! Node: Anchored Addresses1446626 ! Node: Condition Code1449275 ! Node: CC0 Condition Codes1451602 ! Node: MODE_CC Condition Codes1454848 ! Node: Costs1461641 ! Node: Scheduling1482282 ! Node: Sections1506214 ! Node: PIC1522143 ! Node: Assembler Format1524203 ! Node: File Framework1525341 ! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1532974 ! Node: Data Output1536239 ! Node: Uninitialized Data1544192 ! Node: Label Output1549203 ! Node: Initialization1573826 ! Node: Macros for Initialization1579788 ! Node: Instruction Output1586511 ! Node: Dispatch Tables1597146 ! Node: Exception Region Output1601546 ! Node: Alignment Output1608645 ! Node: Debugging Info1613247 ! Node: All Debuggers1613917 ! Node: DBX Options1616772 ! Node: DBX Hooks1622221 ! Node: File Names and DBX1623530 ! Node: SDB and DWARF1625642 ! Node: VMS Debug1631931 ! Node: Floating Point1632518 ! Node: Mode Switching1635273 ! Node: Target Attributes1639707 ! Node: Emulated TLS1648671 ! Node: MIPS Coprocessors1652061 ! Node: PCH Target1653220 ! Node: C++ ABI1655062 ! Node: Named Address Spaces1659854 ! Node: Misc1665766 ! Ref: TARGET_SHIFT_TRUNCATION_MASK1673315 ! Node: Host Config1728742 ! Node: Host Common1729811 ! Node: Filesystem1732190 ! Node: Host Misc1736305 ! Node: Fragments1738754 ! Node: Target Fragment1739949 ! Node: Host Fragment1750676 ! Node: Collect21750916 ! Node: Header Dirs1753552 ! Node: Type Information1754975 ! Node: GTY Options1758255 ! Node: Inheritance and GTY1769512 ! Ref: Inheritance and GTY-Footnote-11771077 ! Node: User GC1771345 ! Node: GGC Roots1775080 ! Node: Files1775796 ! Node: Invoking the garbage collector1778503 ! Node: Troubleshooting1780006 ! Node: Plugins1781082 ! Node: Plugins loading1782211 ! Node: Plugin API1783080 ! Node: Plugins pass1790807 ! Node: Plugins GC1792776 ! Node: Plugins description1794491 ! Node: Plugins attr1795026 ! Node: Plugins recording1797297 ! Node: Plugins gate1798147 ! Node: Plugins tracking1798738 ! Node: Plugins building1799326 ! Node: LTO1801115 ! Node: LTO Overview1801987 ! Node: LTO object file layout1807814 ! Node: IPA1812446 ! Node: WHOPR1821411 ! Node: Internal flags1825972 ! Node: Match and Simplify1827384 ! Node: GIMPLE API1828345 ! Node: The Language1831140 ! Node: Funding1842506 ! Node: GNU Project1845004 ! Node: Copying1845653 ! Node: GNU Free Documentation License1883184 ! Node: Contributors1908324 ! Node: Option Index1947770 ! Node: Concept Index1948647  End Tag Table --- 52245,52601 ---- Node: Effective-Target Keywords216618 Ref: arm_fp_ok224441 Ref: arm_neon_ok225370 ! Ref: arm_neon_ok_no_float_abi225539 ! Ref: arm_neonv2_ok225706 ! Ref: arm_fp16_ok225873 ! Ref: arm_neon_fp16_ok226215 ! Ref: arm_vfp3_ok227091 ! Ref: arm_v8_1a_neon_ok227516 ! Ref: arm_v8_2a_fp16_scalar_ok227942 ! Ref: arm_v8_2a_fp16_neon_ok228389 ! Ref: arm_coproc1_ok229449 ! Ref: arm_coproc2_ok229575 ! Ref: arm_coproc3_ok229808 ! Node: Add Options241675 ! Ref: arm_fp16_ieee242693 ! Ref: arm_fp16_alternative242948 ! Node: Require Support244845 ! Node: Final Actions247352 ! Node: Ada Tests253013 ! Node: C Tests254177 ! Node: LTO Testing258599 ! Node: gcov Testing260241 ! Node: profopt Testing263228 ! Node: compat Testing264943 ! Node: Torture Tests269183 ! Node: GIMPLE Tests270819 ! Node: RTL Tests272062 ! Node: Options273369 ! Node: Option file format273809 ! Node: Option properties280799 ! Node: Passes294780 ! Node: Parsing pass295670 ! Node: Cilk Plus Transformation299205 ! Node: Gimplification pass302592 ! Node: Pass manager304437 ! Node: Tree SSA passes306282 ! Node: RTL passes327843 ! Node: Optimization info340164 ! Node: Dump setup340982 ! Node: Optimization groups342104 ! Node: Dump files and streams343076 ! Node: Dump output verbosity344267 ! Node: Dump types345318 ! Node: Dump examples346808 ! Node: GENERIC348150 ! Node: Deficiencies350025 ! Node: Tree overview350266 ! Node: Macros and Functions354393 ! Node: Identifiers355218 ! Node: Containers356829 ! Node: Types357986 ! Node: Declarations370082 ! Node: Working with declarations370577 ! Node: Internal structure376183 ! Node: Current structure hierarchy376567 ! Node: Adding new DECL node types378661 ! Node: Attributes382946 ! Node: Expression trees384191 ! Node: Constant expressions385944 ! Node: Storage References389250 ! Node: Unary and Binary Expressions392769 ! Node: Vectors412920 ! Node: Statements418111 ! Node: Basic Statements418643 ! Node: Blocks423150 ! Node: Statement Sequences424851 ! Node: Empty Statements425184 ! Node: Jumps425758 ! Node: Cleanups426411 ! Node: OpenMP428179 ! Node: OpenACC434014 ! Node: Functions435046 ! Node: Function Basics435517 ! Node: Function Properties439202 ! Node: Language-dependent trees441984 ! Node: C and C++ Trees442870 ! Node: Types for C++445774 ! Node: Namespaces450752 ! Node: Classes453859 ! Node: Functions for C++458917 ! Node: Statements for C++465170 ! Node: C++ Expressions473944 ! Node: Java Trees475445 ! Node: GIMPLE475558 ! Node: Tuple representation479220 ! Node: Class hierarchy of GIMPLE statements486153 ! Node: GIMPLE instruction set491141 ! Node: GIMPLE Exception Handling492825 ! Node: Temporaries494739 ! Ref: Temporaries-Footnote-1496054 ! Node: Operands496117 ! Node: Compound Expressions496879 ! Node: Compound Lvalues497113 ! Node: Conditional Expressions497875 ! Node: Logical Operators498533 ! Node: Manipulating GIMPLE statements505398 ! Node: Tuple specific accessors511332 ! Node: `GIMPLE_ASM'512169 ! Node: `GIMPLE_ASSIGN'514557 ! Node: `GIMPLE_BIND'519267 ! Node: `GIMPLE_CALL'521086 ! Node: `GIMPLE_CATCH'525119 ! Node: `GIMPLE_COND'526275 ! Node: `GIMPLE_DEBUG'529076 ! Node: `GIMPLE_EH_FILTER'532460 ! Node: `GIMPLE_LABEL'534029 ! Node: `GIMPLE_GOTO'534648 ! Node: `GIMPLE_NOP'535177 ! Node: `GIMPLE_OMP_ATOMIC_LOAD'535545 ! Node: `GIMPLE_OMP_ATOMIC_STORE'536547 ! Node: `GIMPLE_OMP_CONTINUE'537251 ! Node: `GIMPLE_OMP_CRITICAL'538736 ! Node: `GIMPLE_OMP_FOR'539735 ! Node: `GIMPLE_OMP_MASTER'543157 ! Node: `GIMPLE_OMP_ORDERED'543540 ! Node: `GIMPLE_OMP_PARALLEL'543940 ! Node: `GIMPLE_OMP_RETURN'546716 ! Node: `GIMPLE_OMP_SECTION'547366 ! Node: `GIMPLE_OMP_SECTIONS'548032 ! Node: `GIMPLE_OMP_SINGLE'549647 ! Node: `GIMPLE_PHI'550598 ! Node: `GIMPLE_RESX'551882 ! Node: `GIMPLE_RETURN'552607 ! Node: `GIMPLE_SWITCH'553187 ! Node: `GIMPLE_TRY'555066 ! Node: `GIMPLE_WITH_CLEANUP_EXPR'556843 ! Node: GIMPLE sequences557726 ! Node: Sequence iterators560932 ! Node: Adding a new GIMPLE statement code569390 ! Node: Statement and operand traversals570735 ! Node: Tree SSA573335 ! Node: Annotations575121 ! Node: SSA Operands575526 ! Node: SSA589607 ! Node: Alias analysis599313 ! Node: Memory model603093 ! Node: RTL604456 ! Node: RTL Objects606644 ! Node: RTL Classes610518 ! Node: Accessors615565 ! Node: Special Accessors617959 ! Node: Flags623729 ! Node: Machine Modes638491 ! Node: Constants652143 ! Node: Regs and Memory660229 ! Node: Arithmetic678138 ! Node: Comparisons688192 ! Node: Bit-Fields692484 ! Node: Vector Operations694036 ! Node: Conversions695918 ! Node: RTL Declarations700416 ! Node: Side Effects701237 ! Node: Incdec718252 ! Node: Assembler721587 ! Node: Debug Information723132 ! Node: Insns724330 ! Node: Calls750738 ! Node: Sharing753331 ! Node: Reading RTL756441 ! Node: Control Flow757433 ! Node: Basic Blocks759201 ! Node: Edges764657 ! Node: Profile information773279 ! Node: Maintaining the CFG777963 ! Node: Liveness information783732 ! Node: Loop Analysis and Representation785858 ! Node: Loop representation786894 ! Node: Loop querying794459 ! Node: Loop manipulation797297 ! Node: LCSSA799640 ! Node: Scalar evolutions801712 ! Node: loop-iv804956 ! Node: Number of iterations806882 ! Node: Dependency analysis810967 ! Node: Machine Desc817321 ! Node: Overview819884 ! Node: Patterns821925 ! Node: Example825433 ! Node: RTL Template826894 ! Node: Output Template837550 ! Node: Output Statement841515 ! Node: Predicates845854 ! Node: Machine-Independent Predicates848772 ! Node: Defining Predicates853717 ! Node: Constraints859682 ! Node: Simple Constraints861151 ! Node: Multi-Alternative874007 ! Node: Class Preferences877216 ! Node: Modifiers878108 ! Node: Machine Constraints882840 ! Node: Disable Insn Alternatives942218 ! Node: Define Constraints945707 ! Node: C Constraint Interface953104 ! Node: Standard Names956244 ! Ref: shift patterns982300 ! Ref: prologue instruction pattern1033188 ! Ref: window_save instruction pattern1033681 ! Ref: epilogue instruction pattern1033956 ! Node: Pattern Ordering1052840 ! Node: Dependent Patterns1054076 ! Node: Jump Patterns1055696 ! Ref: Jump Patterns-Footnote-11057840 ! Node: Looping Patterns1057886 ! Node: Insn Canonicalizations1062614 ! Node: Expander Definitions1067205 ! Node: Insn Splitting1075417 ! Node: Including Patterns1085019 ! Node: Peephole Definitions1086799 ! Node: define_peephole1088052 ! Node: define_peephole21094383 ! Node: Insn Attributes1097449 ! Node: Defining Attributes1098631 ! Ref: define_enum_attr1102119 ! Node: Expressions1103154 ! Node: Tagging Insns1109903 ! Node: Attr Example1114256 ! Node: Insn Lengths1116630 ! Node: Constant Attributes1120038 ! Node: Mnemonic Attribute1121214 ! Node: Delay Slots1122733 ! Node: Processor pipeline description1125956 ! Ref: Processor pipeline description-Footnote-11144768 ! Node: Conditional Execution1145090 ! Node: Define Subst1148570 ! Node: Define Subst Example1150604 ! Node: Define Subst Pattern Matching1153598 ! Node: Define Subst Output Template1154823 ! Node: Constant Definitions1156893 ! Ref: define_enum1160675 ! Node: Iterators1161163 ! Node: Mode Iterators1161741 ! Node: Defining Mode Iterators1162719 ! Node: Substitutions1164213 ! Node: Examples1166454 ! Node: Code Iterators1167902 ! Node: Int Iterators1170181 ! Node: Subst Iterators1172624 ! Node: Target Macros1174316 ! Node: Target Structure1177328 ! Node: Driver1179443 ! Node: Run-time Target1198411 ! Node: Per-Function Data1208109 ! Node: Storage Layout1210874 ! Node: Type Layout1237840 ! Node: Registers1251185 ! Node: Register Basics1252159 ! Node: Allocation Order1257594 ! Node: Values in Registers1260082 ! Node: Leaf Functions1267571 ! Node: Stack Registers1270429 ! Node: Register Classes1271701 ! Node: Stack and Calling1305316 ! Node: Frame Layout1305922 ! Node: Exception Handling1316773 ! Node: Stack Checking1322993 ! Node: Frame Registers1327833 ! Node: Elimination1336098 ! Node: Stack Arguments1339484 ! Node: Register Arguments1346665 ! Node: Scalar Return1368971 ! Node: Aggregate Return1375426 ! Node: Caller Saves1379614 ! Node: Function Entry1380357 ! Node: Profiling1391459 ! Node: Tail Calls1393573 ! Node: Shrink-wrapping separate components1395484 ! Node: Stack Smashing Protection1398525 ! Node: Miscellaneous Register Hooks1400448 ! Node: Varargs1401314 ! Node: Trampolines1411436 ! Node: Library Calls1418600 ! Node: Addressing Modes1423284 ! Node: Anchored Addresses1446804 ! Node: Condition Code1449453 ! Node: CC0 Condition Codes1451780 ! Node: MODE_CC Condition Codes1455026 ! Node: Costs1461819 ! Node: Scheduling1482460 ! Node: Sections1506392 ! Node: PIC1522321 ! Node: Assembler Format1524381 ! Node: File Framework1525519 ! Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1533152 ! Node: Data Output1536417 ! Node: Uninitialized Data1544370 ! Node: Label Output1549381 ! Node: Initialization1574004 ! Node: Macros for Initialization1579966 ! Node: Instruction Output1586689 ! Node: Dispatch Tables1597324 ! Node: Exception Region Output1601724 ! Node: Alignment Output1608823 ! Node: Debugging Info1613425 ! Node: All Debuggers1614095 ! Node: DBX Options1616950 ! Node: DBX Hooks1622399 ! Node: File Names and DBX1623708 ! Node: SDB and DWARF1625820 ! Node: VMS Debug1632109 ! Node: Floating Point1632696 ! Node: Mode Switching1635451 ! Node: Target Attributes1639885 ! Node: Emulated TLS1648849 ! Node: MIPS Coprocessors1652239 ! Node: PCH Target1653398 ! Node: C++ ABI1655240 ! Node: Named Address Spaces1660032 ! Node: Misc1665944 ! Ref: TARGET_SHIFT_TRUNCATION_MASK1673493 ! Node: Host Config1728920 ! Node: Host Common1729989 ! Node: Filesystem1732368 ! Node: Host Misc1736483 ! Node: Fragments1738932 ! Node: Target Fragment1740127 ! Node: Host Fragment1750854 ! Node: Collect21751094 ! Node: Header Dirs1753730 ! Node: Type Information1755153 ! Node: GTY Options1758433 ! Node: Inheritance and GTY1769690 ! Ref: Inheritance and GTY-Footnote-11771255 ! Node: User GC1771523 ! Node: GGC Roots1775258 ! Node: Files1775974 ! Node: Invoking the garbage collector1778681 ! Node: Troubleshooting1780184 ! Node: Plugins1781260 ! Node: Plugins loading1782389 ! Node: Plugin API1783258 ! Node: Plugins pass1790985 ! Node: Plugins GC1792954 ! Node: Plugins description1794669 ! Node: Plugins attr1795204 ! Node: Plugins recording1797475 ! Node: Plugins gate1798325 ! Node: Plugins tracking1798916 ! Node: Plugins building1799504 ! Node: LTO1801293 ! Node: LTO Overview1802165 ! Node: LTO object file layout1807992 ! Node: IPA1812624 ! Node: WHOPR1821589 ! Node: Internal flags1826150 ! Node: Match and Simplify1827562 ! Node: GIMPLE API1828523 ! Node: The Language1831318 ! Node: Funding1842684 ! Node: GNU Project1845182 ! Node: Copying1845831 ! Node: GNU Free Documentation License1883362 ! Node: Contributors1908502 ! Node: Option Index1947948 ! Node: Concept Index1948825  End Tag Table diff -Nrcpad gcc-7.2.0/gcc/doc/gcov-dump.1 gcc-7.3.0/gcc/doc/gcov-dump.1 *** gcc-7.2.0/gcc/doc/gcov-dump.1 Mon Aug 14 08:05:17 2017 --- gcc-7.3.0/gcc/doc/gcov-dump.1 Thu Jan 25 08:19:42 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-DUMP 1" ! .TH GCOV-DUMP 1 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCOV-DUMP 1" ! .TH GCOV-DUMP 1 "2018-01-25" "gcc-7.3.0" "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-7.2.0/gcc/doc/gcov-tool.1 gcc-7.3.0/gcc/doc/gcov-tool.1 *** gcc-7.2.0/gcc/doc/gcov-tool.1 Mon Aug 14 08:05:17 2017 --- gcc-7.3.0/gcc/doc/gcov-tool.1 Thu Jan 25 08:19:42 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV-TOOL 1" ! .TH GCOV-TOOL 1 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCOV-TOOL 1" ! .TH GCOV-TOOL 1 "2018-01-25" "gcc-7.3.0" "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-7.2.0/gcc/doc/gcov.1 gcc-7.3.0/gcc/doc/gcov.1 *** gcc-7.2.0/gcc/doc/gcov.1 Mon Aug 14 08:05:17 2017 --- gcc-7.3.0/gcc/doc/gcov.1 Thu Jan 25 08:19:42 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GCOV 1" ! .TH GCOV 1 "2018-01-25" "gcc-7.3.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l *************** handlers, respectively. Given \fB\-a\fR *** 453,458 **** --- 453,465 ---- marked \fB$$$$$\fR or \fB%%%%%\fR, depending on whether a basic block is reachable via non-exceptional or exceptional paths. .PP + Note that \s-1GCC\s0 can completely remove the bodies of functions that are + not needed \*(-- for instance if they are inlined everywhere. Such functions + are marked with \fB\-\fR, which can be confusing. + Use the \fB\-fkeep\-inline\-functions\fR and \fB\-fkeep\-static\-functions\fR + options to retain these functions and + allow gcov to properly show their \fIexecution_count\fR. + .PP Some lines of information at the start have \fIline_number\fR of zero. These preamble lines are of the form .PP diff -Nrcpad gcc-7.2.0/gcc/doc/gcov.texi gcc-7.3.0/gcc/doc/gcov.texi *** gcc-7.2.0/gcc/doc/gcov.texi Thu Jun 22 11:38:40 2017 --- gcc-7.3.0/gcc/doc/gcov.texi Tue Nov 21 16:01:16 2017 *************** handlers, respectively. Given @samp{-a} *** 328,333 **** --- 328,340 ---- marked @samp{$$$$$} or @samp{%%%%%}, depending on whether a basic block is reachable via non-exceptional or exceptional paths. + Note that GCC can completely remove the bodies of functions that are + not needed -- for instance if they are inlined everywhere. Such functions + are marked with @samp{-}, which can be confusing. + Use the @option{-fkeep-inline-functions} and @option{-fkeep-static-functions} + options to retain these functions and + allow gcov to properly show their @var{execution_count}. + Some lines of information at the start have @var{line_number} of zero. These preamble lines are of the form diff -Nrcpad gcc-7.2.0/gcc/doc/gfdl.7 gcc-7.3.0/gcc/doc/gfdl.7 *** gcc-7.2.0/gcc/doc/gfdl.7 Mon Aug 14 08:05:17 2017 --- gcc-7.3.0/gcc/doc/gfdl.7 Thu Jan 25 08:19:42 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GFDL 7" ! .TH GFDL 7 "2018-01-25" "gcc-7.3.0" "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-7.2.0/gcc/doc/gfortran.1 gcc-7.3.0/gcc/doc/gfortran.1 *** gcc-7.2.0/gcc/doc/gfortran.1 Mon Aug 14 08:30:41 2017 --- gcc-7.3.0/gcc/doc/gfortran.1 Thu Jan 25 08:41:38 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GFORTRAN 1" ! .TH GFORTRAN 1 "2018-01-25" "gcc-7.3.0" "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-7.2.0/gcc/doc/gpl.7 gcc-7.3.0/gcc/doc/gpl.7 *** gcc-7.2.0/gcc/doc/gpl.7 Mon Aug 14 08:05:17 2017 --- gcc-7.3.0/gcc/doc/gpl.7 Thu Jan 25 08:19:42 2018 *************** *** 133,139 **** .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2017-08-14" "gcc-7.2.0" "GNU" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l --- 133,139 ---- .\" ======================================================================== .\" .IX Title "GPL 7" ! .TH GPL 7 "2018-01-25" "gcc-7.3.0" "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-7.2.0/gcc/doc/invoke.texi gcc-7.3.0/gcc/doc/invoke.texi *** gcc-7.2.0/gcc/doc/invoke.texi Wed Jul 26 12:42:03 2017 --- gcc-7.3.0/gcc/doc/invoke.texi Tue Jan 16 11:22:01 2018 *************** See RS/6000 and PowerPC Options. *** 966,972 **** @emph{RISC-V Options} @gccoptlist{-mbranch-cost=@var{N-instruction} @gol - -mmemcpy -mno-memcpy @gol -mplt -mno-plt @gol -mabi=@var{ABI-string} @gol -mfdiv -mno-fdiv @gol --- 966,971 ---- *************** See RS/6000 and PowerPC Options. *** 975,981 **** -mtune=@var{processor-string} @gol -msmall-data-limit=@var{N-bytes} @gol -msave-restore -mno-save-restore @gol ! -mcmodel=@var{code-model} @gol -mexplicit-relocs -mno-explicit-relocs @gol} @emph{RL78 Options} --- 974,981 ---- -mtune=@var{processor-string} @gol -msmall-data-limit=@var{N-bytes} @gol -msave-restore -mno-save-restore @gol ! -mstrict-align -mno-strict-align @gol ! -mcmodel=medlow -mcmodel=medany @gol -mexplicit-relocs -mno-explicit-relocs @gol} @emph{RL78 Options} *************** See RS/6000 and PowerPC Options. *** 1210,1216 **** -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol -malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol ! -mmitigate-rop -mgeneral-regs-only} @emph{x86 Windows Options} @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol --- 1210,1218 ---- -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv @gol -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol -malign-data=@var{type} -mstack-protector-guard=@var{guard} @gol ! -mmitigate-rop -mgeneral-regs-only @gol ! -mindirect-branch=@var{choice} -mfunction-return==@var{choice} @gol ! -mindirect-branch-register} @emph{x86 Windows Options} @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol *************** Link your object files with @option{-lgc *** 10648,10656 **** Run the program on a representative workload to generate the arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system ! supports locking, the data files will be correctly updated. Also ! @code{fork} calls are detected and correctly handled (double counting ! will not happen). @item For profile-directed optimizations, compile the source files again with --- 10650,10658 ---- Run the program on a representative workload to generate the arc profile information. This may be repeated any number of times. You can run concurrent instances of your program, and provided that the file system ! supports locking, the data files will be correctly updated. Unless ! a strict ISO C dialect option is in effect, @code{fork} calls are ! detected and correctly handled without double counting. @item For profile-directed optimizations, compile the source files again with *************** These command-line options are defined f *** 20884,20915 **** @opindex mbranch-cost Set the cost of branches to roughly @var{n} instructions. - @item -mmemcpy - @itemx -mno-memcpy - @opindex mmemcpy - Don't optimize block moves. - @item -mplt @itemx -mno-plt @opindex plt ! When generating PIC code, allow the use of PLTs. Ignored for non-PIC. @item -mabi=@var{ABI-string} @opindex mabi ! Specify integer and floating-point calling convention. This defaults to the ! natural calling convention: e.g.@ LP64 for RV64I, ILP32 for RV32I, LP64D for ! RV64G. @item -mfdiv @itemx -mno-fdiv @opindex mfdiv ! Use hardware floating-point divide and square root instructions. This requires ! the F or D extensions for floating-point registers. @item -mdiv @itemx -mno-div @opindex mdiv ! Use hardware instructions for integer division. This requires the M extension. @item -march=@var{ISA-string} @opindex march --- 20886,20931 ---- @opindex mbranch-cost Set the cost of branches to roughly @var{n} instructions. @item -mplt @itemx -mno-plt @opindex plt ! When generating PIC code, do or don't allow the use of PLTs. Ignored for ! non-PIC. The default is @option{-mplt}. @item -mabi=@var{ABI-string} @opindex mabi ! Specify integer and floating-point calling convention. @var{ABI-string} ! contains two parts: the size of integer types and the registers used for ! floating-point types. For example @samp{-march=rv64ifd -mabi=lp64d} means that ! @samp{long} and pointers are 64-bit (implicitly defining @samp{int} to be ! 32-bit), and that floating-point values up to 64 bits wide are passed in F ! registers. Contrast this with @samp{-march=rv64ifd -mabi=lp64f}, which still ! allows the compiler to generate code that uses the F and D extensions but only ! allows floating-point values up to 32 bits long to be passed in registers; or ! @samp{-march=rv64ifd -mabi=lp64}, in which no floating-point arguments will be ! passed in registers. ! ! The default for this argument is system dependent, users who want a specific ! calling convention should specify one explicitly. The valid calling ! conventions are: @samp{ilp32}, @samp{ilp32f}, @samp{ilp32d}, @samp{lp64}, ! @samp{lp64f}, and @samp{lp64d}. Some calling conventions are impossible to ! implement on some ISAs: for example, @samp{-march=rv32if -mabi=ilp32d} is ! invalid because the ABI requires 64-bit values be passed in F registers, but F ! registers are only 32 bits wide. @item -mfdiv @itemx -mno-fdiv @opindex mfdiv ! Do or don't use hardware floating-point divide and square root instructions. ! This requires the F or D extensions for floating-point registers. The default ! is to use them if the specified architecture has these instructions. @item -mdiv @itemx -mno-div @opindex mdiv ! Do or don't use hardware instructions for integer division. This requires the ! M extension. The default is to use them if the specified architecture has ! these instructions. @item -march=@var{ISA-string} @opindex march *************** Put global and static data smaller than *** 20929,20939 **** @item -msave-restore @itemx -mno-save-restore @opindex msave-restore ! Use smaller but slower prologue and epilogue code. ! @item -mcmodel=@var{code-model} ! @opindex mcmodel ! Specify the code model. @end table --- 20945,20979 ---- @item -msave-restore @itemx -mno-save-restore @opindex msave-restore ! Do or don't use smaller but slower prologue and epilogue code that uses ! library function calls. The default is to use fast inline prologues and ! epilogues. ! @item -mstrict-align ! @itemx -mno-strict-align ! @opindex mstrict-align ! Do not or do generate unaligned memory accesses. The default is set depending ! on whether the processor we are optimizing for supports fast unaligned access ! or not. ! ! @item -mcmodel=medlow ! @opindex mcmodel=medlow ! Generate code for the medium-low code model. The program and its statically ! defined symbols must lie within a single 2 GiB address range and must lie ! between absolute addresses @minus{}2 GiB and +2 GiB. Programs can be ! statically or dynamically linked. This is the default code model. ! ! @item -mcmodel=medany ! @opindex mcmodel=medany ! Generate code for the medium-any code model. The program and its statically ! defined symbols must be within any single 2 GiB address range. Programs can be ! statically or dynamically linked. ! ! @item -mexplicit-relocs ! @itemx -mno-exlicit-relocs ! Use or do not use assembler relocation operators when dealing with symbolic ! addresses. The alternative is to use assembler macros instead, which may ! limit optimization. @end table *************** Generate code that uses only the general *** 25648,25653 **** --- 25688,25730 ---- prevents the compiler from using floating-point, vector, mask and bound registers. + @item -mindirect-branch=@var{choice} + @opindex -mindirect-branch + Convert indirect call and jump with @var{choice}. The default is + @samp{keep}, which keeps indirect call and jump unmodified. + @samp{thunk} converts indirect call and jump to call and return thunk. + @samp{thunk-inline} converts indirect call and jump to inlined call + and return thunk. @samp{thunk-extern} converts indirect call and jump + to external call and return thunk provided in a separate object file. + You can control this behavior for a specific function by using the + function attribute @code{indirect_branch}. @xref{Function Attributes}. + + Note that @option{-mcmodel=large} is incompatible with + @option{-mindirect-branch=thunk} nor + @option{-mindirect-branch=thunk-extern} since the thunk function may + not be reachable in large code model. + + @item -mfunction-return=@var{choice} + @opindex -mfunction-return + Convert function return with @var{choice}. The default is @samp{keep}, + which keeps function return unmodified. @samp{thunk} converts function + return to call and return thunk. @samp{thunk-inline} converts function + return to inlined call and return thunk. @samp{thunk-extern} converts + function return to external call and return thunk provided in a separate + object file. You can control this behavior for a specific function by + using the function attribute @code{function_return}. + @xref{Function Attributes}. + + Note that @option{-mcmodel=large} is incompatible with + @option{-mfunction-return=thunk} nor + @option{-mfunction-return=thunk-extern} since the thunk function may + not be reachable in large code model. + + + @item -mindirect-branch-register + @opindex -mindirect-branch-register + Force indirect call and jump via register. + @end table These @samp{-m} switches are supported in addition to the above diff -Nrcpad gcc-7.2.0/gcc/doc/sourcebuild.texi gcc-7.3.0/gcc/doc/sourcebuild.texi *** gcc-7.2.0/gcc/doc/sourcebuild.texi Thu Mar 9 15:04:31 2017 --- gcc-7.3.0/gcc/doc/sourcebuild.texi Wed Sep 27 15:40:39 2017 *************** Test system supports executing NEON v2 i *** 1570,1575 **** --- 1570,1581 ---- ARM Target supports @code{-mfpu=neon -mfloat-abi=softfp} or compatible options. Some multilibs may be incompatible with these options. + @item arm_neon_ok_no_float_abi + @anchor{arm_neon_ok_no_float_abi} + ARM Target supports NEON with @code{-mfpu=neon}, but without any + -mfloat-abi= option. Some multilibs may be incompatible with this + option. + @item arm_neonv2_ok @anchor{arm_neonv2_ok} ARM Target supports @code{-mfpu=neon-vfpv4 -mfloat-abi=softfp} or compatible diff -Nrcpad gcc-7.2.0/gcc/dwarf2out.c gcc-7.3.0/gcc/dwarf2out.c *** gcc-7.2.0/gcc/dwarf2out.c Fri Jul 28 13:25:40 2017 --- gcc-7.3.0/gcc/dwarf2out.c Wed Nov 15 11:54:11 2017 *************** modified_type_die (tree type, int cv_qua *** 12514,12519 **** --- 12514,12528 ---- if (qualified_type == dtype) { + tree origin = decl_ultimate_origin (name); + + /* Typedef variants that have an abstract origin don't get their own + type DIE (see gen_typedef_die), so fall back on the ultimate + abstract origin instead. */ + if (origin != NULL) + return modified_type_die (TREE_TYPE (origin), cv_quals, reverse, + context_die); + /* For a named type, use the typedef. */ gen_type_die (qualified_type, context_die); return lookup_type_die (qualified_type); *************** static void *** 24346,24352 **** gen_typedef_die (tree decl, dw_die_ref context_die) { dw_die_ref type_die; ! tree origin; if (TREE_ASM_WRITTEN (decl)) { --- 24355,24361 ---- gen_typedef_die (tree decl, dw_die_ref context_die) { dw_die_ref type_die; ! tree type; if (TREE_ASM_WRITTEN (decl)) { *************** gen_typedef_die (tree decl, dw_die_ref c *** 24355,24429 **** return; } TREE_ASM_WRITTEN (decl) = 1; type_die = new_die (DW_TAG_typedef, context_die, decl); - origin = decl_ultimate_origin (decl); - if (origin != NULL) - add_abstract_origin_attribute (type_die, origin); - else - { - tree type = TREE_TYPE (decl); if (type == error_mark_node) return; ! add_name_and_src_coords_attributes (type_die, decl); ! if (DECL_ORIGINAL_TYPE (decl)) ! { ! type = DECL_ORIGINAL_TYPE (decl); ! ! if (type == error_mark_node) ! return; ! gcc_assert (type != TREE_TYPE (decl)); ! equate_type_number_to_die (TREE_TYPE (decl), type_die); ! } ! else { ! if (is_naming_typedef_decl (TYPE_NAME (type))) ! { ! /* Here, we are in the case of decl being a typedef naming ! an anonymous type, e.g: ! typedef struct {...} foo; ! In that case TREE_TYPE (decl) is not a typedef variant ! type and TYPE_NAME of the anonymous type is set to the ! TYPE_DECL of the typedef. This construct is emitted by ! the C++ FE. ! TYPE is the anonymous struct named by the typedef ! DECL. As we need the DW_AT_type attribute of the ! DW_TAG_typedef to point to the DIE of TYPE, let's ! generate that DIE right away. add_type_attribute ! called below will then pick (via lookup_type_die) that ! anonymous struct DIE. */ ! if (!TREE_ASM_WRITTEN (type)) ! gen_tagged_type_die (type, context_die, DINFO_USAGE_DIR_USE); ! /* This is a GNU Extension. We are adding a ! DW_AT_linkage_name attribute to the DIE of the ! anonymous struct TYPE. The value of that attribute ! is the name of the typedef decl naming the anonymous ! struct. This greatly eases the work of consumers of ! this debug info. */ ! add_linkage_name_raw (lookup_type_die (type), decl); ! } } ! add_type_attribute (type_die, type, decl_quals (decl), false, ! context_die); ! ! if (is_naming_typedef_decl (decl)) ! /* We want that all subsequent calls to lookup_type_die with ! TYPE in argument yield the DW_TAG_typedef we have just ! created. */ ! equate_type_number_to_die (type, type_die); ! type = TREE_TYPE (decl); ! add_alignment_attribute (type_die, type); ! add_accessibility_attribute (type_die, decl); ! } if (DECL_ABSTRACT_P (decl)) equate_decl_number_to_die (decl, type_die); --- 24364,24434 ---- return; } + /* As we avoid creating DIEs for local typedefs (see decl_ultimate_origin + checks in process_scope_var and modified_type_die), this should be called + only for original types. */ + gcc_assert (decl_ultimate_origin (decl) == NULL); + TREE_ASM_WRITTEN (decl) = 1; type_die = new_die (DW_TAG_typedef, context_die, decl); + add_name_and_src_coords_attributes (type_die, decl); + if (DECL_ORIGINAL_TYPE (decl)) + { + type = DECL_ORIGINAL_TYPE (decl); if (type == error_mark_node) return; ! gcc_assert (type != TREE_TYPE (decl)); ! equate_type_number_to_die (TREE_TYPE (decl), type_die); ! } ! else ! { ! type = TREE_TYPE (decl); ! if (type == error_mark_node) ! return; ! if (is_naming_typedef_decl (TYPE_NAME (type))) { ! /* Here, we are in the case of decl being a typedef naming ! an anonymous type, e.g: ! typedef struct {...} foo; ! In that case TREE_TYPE (decl) is not a typedef variant ! type and TYPE_NAME of the anonymous type is set to the ! TYPE_DECL of the typedef. This construct is emitted by ! the C++ FE. ! TYPE is the anonymous struct named by the typedef ! DECL. As we need the DW_AT_type attribute of the ! DW_TAG_typedef to point to the DIE of TYPE, let's ! generate that DIE right away. add_type_attribute ! called below will then pick (via lookup_type_die) that ! anonymous struct DIE. */ ! if (!TREE_ASM_WRITTEN (type)) ! gen_tagged_type_die (type, context_die, DINFO_USAGE_DIR_USE); ! /* This is a GNU Extension. We are adding a ! DW_AT_linkage_name attribute to the DIE of the ! anonymous struct TYPE. The value of that attribute ! is the name of the typedef decl naming the anonymous ! struct. This greatly eases the work of consumers of ! this debug info. */ ! add_linkage_name_raw (lookup_type_die (type), decl); } + } ! add_type_attribute (type_die, type, decl_quals (decl), false, ! context_die); ! if (is_naming_typedef_decl (decl)) ! /* We want that all subsequent calls to lookup_type_die with ! TYPE in argument yield the DW_TAG_typedef we have just ! created. */ ! equate_type_number_to_die (type, type_die); ! add_alignment_attribute (type_die, TREE_TYPE (decl)); ! add_accessibility_attribute (type_die, decl); if (DECL_ABSTRACT_P (decl)) equate_decl_number_to_die (decl, type_die); *************** gen_type_die_with_usage (tree type, dw_d *** 24535,24549 **** if (TREE_ASM_WRITTEN (type)) return; /* Prevent broken recursion; we can't hand off to the same type. */ ! gcc_assert (DECL_ORIGINAL_TYPE (TYPE_NAME (type)) != type); /* Give typedefs the right scope. */ context_die = scope_die_for (type, context_die); TREE_ASM_WRITTEN (type) = 1; ! gen_decl_die (TYPE_NAME (type), NULL, NULL, context_die); return; } --- 24540,24562 ---- if (TREE_ASM_WRITTEN (type)) return; + tree name = TYPE_NAME (type); + tree origin = decl_ultimate_origin (name); + if (origin != NULL) + { + gen_decl_die (origin, NULL, NULL, context_die); + return; + } + /* Prevent broken recursion; we can't hand off to the same type. */ ! gcc_assert (DECL_ORIGINAL_TYPE (name) != type); /* Give typedefs the right scope. */ context_die = scope_die_for (type, context_die); TREE_ASM_WRITTEN (type) = 1; ! gen_decl_die (name, NULL, NULL, context_die); return; } *************** process_scope_var (tree stmt, tree decl, *** 24862,24867 **** --- 24875,24896 ---- else die = NULL; + /* Avoid creating DIEs for local typedefs and concrete static variables that + will only be pruned later. */ + if ((origin || decl_ultimate_origin (decl)) + && (TREE_CODE (decl_or_origin) == TYPE_DECL + || (VAR_P (decl_or_origin) && TREE_STATIC (decl_or_origin)))) + { + origin = decl_ultimate_origin (decl_or_origin); + if (decl && VAR_P (decl) && die != NULL) + { + die = lookup_decl_die (origin); + if (die != NULL) + equate_decl_number_to_die (decl, die); + } + return; + } + if (die != NULL && die->die_parent == NULL) add_child_die (context_die, die); else if (TREE_CODE (decl_or_origin) == IMPORTED_DECL) *************** dwarf2out_early_global_decl (tree decl) *** 25490,25499 **** so that all nested DIEs are generated at the proper scope in the first shot. */ tree context = decl_function_context (decl); ! if (context != NULL && lookup_decl_die (context) == NULL) { current_function_decl = context; ! dwarf2out_decl (context); } current_function_decl = decl; --- 25519,25534 ---- so that all nested DIEs are generated at the proper scope in the first shot. */ tree context = decl_function_context (decl); ! if (context != NULL) { + dw_die_ref context_die = lookup_decl_die (context); current_function_decl = context; ! ! /* Avoid emitting DIEs multiple times, but still process CONTEXT ! enough so that it lands in its own context. This avoids type ! pruning issues later on. */ ! if (context_die == NULL || is_declaration_die (context_die)) ! dwarf2out_decl (context); } current_function_decl = decl; *************** gen_remaining_tmpl_value_param_die_attri *** 26058,26064 **** j = 0; FOR_EACH_VEC_ELT (*tmpl_value_parm_die_table, i, e) { ! if (!tree_add_const_value_attribute (e->die, e->arg)) { dw_loc_descr_ref loc = NULL; if (! early_dwarf --- 26093,26100 ---- j = 0; FOR_EACH_VEC_ELT (*tmpl_value_parm_die_table, i, e) { ! if (!e->die->removed ! && !tree_add_const_value_attribute (e->die, e->arg)) { dw_loc_descr_ref loc = NULL; if (! early_dwarf diff -Nrcpad gcc-7.2.0/gcc/expmed.c gcc-7.3.0/gcc/expmed.c *** gcc-7.2.0/gcc/expmed.c Fri Mar 31 06:38:35 2017 --- gcc-7.3.0/gcc/expmed.c Mon Jan 1 11:27:17 2018 *************** expand_shift_1 (enum tree_code code, mac *** 2331,2339 **** && CONST_INT_P (op1) && INTVAL (op1) == BITS_PER_UNIT && GET_MODE_SIZE (scalar_mode) == 2 ! && optab_handler (bswap_optab, HImode) != CODE_FOR_nothing) ! return expand_unop (HImode, bswap_optab, shifted, NULL_RTX, ! unsignedp); if (op1 == const0_rtx) return shifted; --- 2331,2338 ---- && CONST_INT_P (op1) && INTVAL (op1) == BITS_PER_UNIT && GET_MODE_SIZE (scalar_mode) == 2 ! && optab_handler (bswap_optab, mode) != CODE_FOR_nothing) ! return expand_unop (mode, bswap_optab, shifted, NULL_RTX, unsignedp); if (op1 == const0_rtx) return shifted; diff -Nrcpad gcc-7.2.0/gcc/expr.c gcc-7.3.0/gcc/expr.c *** gcc-7.2.0/gcc/expr.c Mon May 8 09:45:46 2017 --- gcc-7.3.0/gcc/expr.c Mon Jan 1 11:30:28 2018 *************** expand_assignment (tree to, tree from, b *** 5104,5110 **** else if (GET_CODE (to_rtx) == CONCAT) { unsigned short mode_bitsize = GET_MODE_BITSIZE (GET_MODE (to_rtx)); ! if (COMPLEX_MODE_P (TYPE_MODE (TREE_TYPE (from))) && bitpos == 0 && bitsize == mode_bitsize) result = store_expr (from, to_rtx, false, nontemporal, reversep); --- 5104,5111 ---- else if (GET_CODE (to_rtx) == CONCAT) { unsigned short mode_bitsize = GET_MODE_BITSIZE (GET_MODE (to_rtx)); ! if (TYPE_MODE (TREE_TYPE (from)) == GET_MODE (to_rtx) ! && COMPLEX_MODE_P (GET_MODE (to_rtx)) && bitpos == 0 && bitsize == mode_bitsize) result = store_expr (from, to_rtx, false, nontemporal, reversep); *************** expand_assignment (tree to, tree from, b *** 5125,5141 **** nontemporal, reversep); else if (bitpos == 0 && bitsize == mode_bitsize) { - rtx from_rtx; result = expand_normal (from); ! from_rtx = simplify_gen_subreg (GET_MODE (to_rtx), result, ! TYPE_MODE (TREE_TYPE (from)), 0); ! emit_move_insn (XEXP (to_rtx, 0), ! read_complex_part (from_rtx, false)); ! emit_move_insn (XEXP (to_rtx, 1), ! read_complex_part (from_rtx, true)); } else { rtx temp = assign_stack_temp (GET_MODE (to_rtx), GET_MODE_SIZE (GET_MODE (to_rtx))); write_complex_part (temp, XEXP (to_rtx, 0), false); --- 5126,5181 ---- nontemporal, reversep); else if (bitpos == 0 && bitsize == mode_bitsize) { result = expand_normal (from); ! if (GET_CODE (result) == CONCAT) ! { ! machine_mode to_mode = GET_MODE_INNER (GET_MODE (to_rtx)); ! machine_mode from_mode = GET_MODE_INNER (GET_MODE (result)); ! rtx from_real ! = simplify_gen_subreg (to_mode, XEXP (result, 0), ! from_mode, 0); ! rtx from_imag ! = simplify_gen_subreg (to_mode, XEXP (result, 1), ! from_mode, 0); ! if (!from_real || !from_imag) ! goto concat_store_slow; ! emit_move_insn (XEXP (to_rtx, 0), from_real); ! emit_move_insn (XEXP (to_rtx, 1), from_imag); ! } ! else ! { ! rtx from_rtx ! = simplify_gen_subreg (GET_MODE (to_rtx), result, ! TYPE_MODE (TREE_TYPE (from)), 0); ! if (from_rtx) ! { ! emit_move_insn (XEXP (to_rtx, 0), ! read_complex_part (from_rtx, false)); ! emit_move_insn (XEXP (to_rtx, 1), ! read_complex_part (from_rtx, true)); ! } ! else ! { ! machine_mode to_mode ! = GET_MODE_INNER (GET_MODE (to_rtx)); ! rtx from_real ! = simplify_gen_subreg (to_mode, result, ! TYPE_MODE (TREE_TYPE (from)), ! 0); ! rtx from_imag ! = simplify_gen_subreg (to_mode, result, ! TYPE_MODE (TREE_TYPE (from)), ! GET_MODE_SIZE (to_mode)); ! if (!from_real || !from_imag) ! goto concat_store_slow; ! emit_move_insn (XEXP (to_rtx, 0), from_real); ! emit_move_insn (XEXP (to_rtx, 1), from_imag); ! } ! } } else { + concat_store_slow:; rtx temp = assign_stack_temp (GET_MODE (to_rtx), GET_MODE_SIZE (GET_MODE (to_rtx))); write_complex_part (temp, XEXP (to_rtx, 0), false); *************** store_expr_with_bounds (tree exp, rtx ta *** 5575,5582 **** if (CONSTANT_P (temp) && GET_MODE (temp) == VOIDmode && TREE_CODE (exp) != ERROR_MARK && GET_MODE (target) != TYPE_MODE (TREE_TYPE (exp))) ! temp = convert_modes (GET_MODE (target), TYPE_MODE (TREE_TYPE (exp)), ! temp, TYPE_UNSIGNED (TREE_TYPE (exp))); /* If value was not generated in the target, store it there. Convert the value to TARGET's type first if necessary and emit the --- 5615,5635 ---- if (CONSTANT_P (temp) && GET_MODE (temp) == VOIDmode && TREE_CODE (exp) != ERROR_MARK && GET_MODE (target) != TYPE_MODE (TREE_TYPE (exp))) ! { ! if (GET_MODE_CLASS (GET_MODE (target)) ! != GET_MODE_CLASS (TYPE_MODE (TREE_TYPE (exp))) ! && GET_MODE_BITSIZE (GET_MODE (target)) ! == GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (exp)))) ! { ! rtx t = simplify_gen_subreg (GET_MODE (target), temp, ! TYPE_MODE (TREE_TYPE (exp)), 0); ! if (t) ! temp = t; ! } ! if (GET_MODE (temp) == VOIDmode) ! temp = convert_modes (GET_MODE (target), TYPE_MODE (TREE_TYPE (exp)), ! temp, TYPE_UNSIGNED (TREE_TYPE (exp))); ! } /* If value was not generated in the target, store it there. Convert the value to TARGET's type first if necessary and emit the *************** store_field (rtx target, HOST_WIDE_INT b *** 6742,6749 **** return const0_rtx; /* If we have nothing to store, do nothing unless the expression has ! side-effects. */ ! if (bitsize == 0) return expand_expr (exp, const0_rtx, VOIDmode, EXPAND_NORMAL); if (GET_CODE (target) == CONCAT) --- 6795,6805 ---- return const0_rtx; /* If we have nothing to store, do nothing unless the expression has ! side-effects. Don't do that for zero sized addressable lhs of ! calls. */ ! if (bitsize == 0 ! && (!TREE_ADDRESSABLE (TREE_TYPE (exp)) ! || TREE_CODE (exp) != CALL_EXPR)) return expand_expr (exp, const0_rtx, VOIDmode, EXPAND_NORMAL); if (GET_CODE (target) == CONCAT) *************** get_inner_reference (tree exp, HOST_WIDE *** 6995,7001 **** size. */ mode = TYPE_MODE (DECL_BIT_FIELD_TYPE (field)); else if (!DECL_BIT_FIELD (field)) ! mode = DECL_MODE (field); else if (DECL_MODE (field) == BLKmode) blkmode_bitfield = true; --- 7051,7066 ---- size. */ mode = TYPE_MODE (DECL_BIT_FIELD_TYPE (field)); else if (!DECL_BIT_FIELD (field)) ! { ! mode = DECL_MODE (field); ! /* For vector fields re-check the target flags, as DECL_MODE ! could have been set with different target flags than ! the current function has. */ ! if (mode == BLKmode ! && VECTOR_TYPE_P (TREE_TYPE (field)) ! && VECTOR_MODE_P (TYPE_MODE_RAW (TREE_TYPE (field)))) ! mode = TYPE_MODE (TREE_TYPE (field)); ! } else if (DECL_MODE (field) == BLKmode) blkmode_bitfield = true; diff -Nrcpad gcc-7.2.0/gcc/file-find.c gcc-7.3.0/gcc/file-find.c *** gcc-7.2.0/gcc/file-find.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/file-find.c Tue Nov 21 16:00:55 2017 *************** prefix_from_string (const char *p, struc *** 208,245 **** } free (nstore); } - - void - remove_prefix (const char *prefix, struct path_prefix *pprefix) - { - struct prefix_list *remove, **prev, **remove_prev = NULL; - int max_len = 0; - - if (pprefix->plist) - { - prev = &pprefix->plist; - for (struct prefix_list *pl = pprefix->plist; pl->next; pl = pl->next) - { - if (strcmp (prefix, pl->prefix) == 0) - { - remove = pl; - remove_prev = prev; - continue; - } - - int l = strlen (pl->prefix); - if (l > max_len) - max_len = l; - - prev = &pl; - } - - if (remove_prev) - { - *remove_prev = remove->next; - free (remove); - } - - pprefix->max_len = max_len; - } - } --- 208,210 ---- diff -Nrcpad gcc-7.2.0/gcc/file-find.h gcc-7.3.0/gcc/file-find.h *** gcc-7.2.0/gcc/file-find.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/file-find.h Tue Nov 21 16:00:55 2017 *************** extern void find_file_set_debug (bool); *** 41,47 **** extern char *find_a_file (struct path_prefix *, const char *, int); extern void add_prefix (struct path_prefix *, const char *); extern void add_prefix_begin (struct path_prefix *, const char *); - extern void remove_prefix (const char *prefix, struct path_prefix *); extern void prefix_from_env (const char *, struct path_prefix *); extern void prefix_from_string (const char *, struct path_prefix *); --- 41,46 ---- diff -Nrcpad gcc-7.2.0/gcc/fold-const.c gcc-7.3.0/gcc/fold-const.c *** gcc-7.2.0/gcc/fold-const.c Wed Jul 26 08:36:34 2017 --- gcc-7.3.0/gcc/fold-const.c Sat Dec 23 08:43:10 2017 *************** split_tree (location_t loc, tree in, tre *** 877,882 **** --- 877,889 ---- } } + if (*litp + && TREE_OVERFLOW_P (*litp)) + *litp = drop_tree_overflow (*litp); + if (*minus_litp + && TREE_OVERFLOW_P (*minus_litp)) + *minus_litp = drop_tree_overflow (*minus_litp); + return var; } *************** optimize_bit_field_compare (location_t l *** 4033,4053 **** size_int (nbitsize - lbitsize - lbitpos)); if (! const_p) ! /* If not comparing with constant, just rework the comparison ! and return. */ ! return fold_build2_loc (loc, code, compare_type, ! fold_build2_loc (loc, BIT_AND_EXPR, unsigned_type, ! make_bit_field_ref (loc, linner, lhs, ! unsigned_type, ! nbitsize, nbitpos, ! 1, lreversep), ! mask), ! fold_build2_loc (loc, BIT_AND_EXPR, unsigned_type, ! make_bit_field_ref (loc, rinner, rhs, ! unsigned_type, ! nbitsize, nbitpos, ! 1, rreversep), ! mask)); /* Otherwise, we are handling the constant case. See if the constant is too big for the field. Warn and return a tree for 0 (false) if so. We do --- 4040,4059 ---- size_int (nbitsize - lbitsize - lbitpos)); if (! const_p) ! { ! if (nbitpos < 0) ! return 0; ! ! /* If not comparing with constant, just rework the comparison ! and return. */ ! tree t1 = make_bit_field_ref (loc, linner, lhs, unsigned_type, ! nbitsize, nbitpos, 1, lreversep); ! t1 = fold_build2_loc (loc, BIT_AND_EXPR, unsigned_type, t1, mask); ! tree t2 = make_bit_field_ref (loc, rinner, rhs, unsigned_type, ! nbitsize, nbitpos, 1, rreversep); ! t2 = fold_build2_loc (loc, BIT_AND_EXPR, unsigned_type, t2, mask); ! return fold_build2_loc (loc, code, compare_type, t1, t2); ! } /* Otherwise, we are handling the constant case. See if the constant is too big for the field. Warn and return a tree for 0 (false) if so. We do *************** optimize_bit_field_compare (location_t l *** 4078,4083 **** --- 4084,4092 ---- } } + if (nbitpos < 0) + return 0; + /* Single-bit compares should always be against zero. */ if (lbitsize == 1 && ! integer_zerop (rhs)) { *************** fold_truth_andor_1 (location_t loc, enum *** 5851,5857 **** results. */ ll_mask = const_binop (BIT_IOR_EXPR, ll_mask, rl_mask); lr_mask = const_binop (BIT_IOR_EXPR, lr_mask, rr_mask); ! if (lnbitsize == rnbitsize && xll_bitpos == xlr_bitpos) { lhs = make_bit_field_ref (loc, ll_inner, ll_arg, lntype, lnbitsize, lnbitpos, --- 5860,5869 ---- results. */ ll_mask = const_binop (BIT_IOR_EXPR, ll_mask, rl_mask); lr_mask = const_binop (BIT_IOR_EXPR, lr_mask, rr_mask); ! if (lnbitsize == rnbitsize ! && xll_bitpos == xlr_bitpos ! && lnbitpos >= 0 ! && rnbitpos >= 0) { lhs = make_bit_field_ref (loc, ll_inner, ll_arg, lntype, lnbitsize, lnbitpos, *************** fold_truth_andor_1 (location_t loc, enum *** 5875,5884 **** Note that we still must mask the lhs/rhs expressions. Furthermore, the mask must be shifted to account for the shift done by make_bit_field_ref. */ ! if ((ll_bitsize + ll_bitpos == rl_bitpos ! && lr_bitsize + lr_bitpos == rr_bitpos) ! || (ll_bitpos == rl_bitpos + rl_bitsize ! && lr_bitpos == rr_bitpos + rr_bitsize)) { tree type; --- 5887,5900 ---- Note that we still must mask the lhs/rhs expressions. Furthermore, the mask must be shifted to account for the shift done by make_bit_field_ref. */ ! if (((ll_bitsize + ll_bitpos == rl_bitpos ! && lr_bitsize + lr_bitpos == rr_bitpos) ! || (ll_bitpos == rl_bitpos + rl_bitsize ! && lr_bitpos == rr_bitpos + rr_bitsize)) ! && ll_bitpos >= 0 ! && rl_bitpos >= 0 ! && lr_bitpos >= 0 ! && rr_bitpos >= 0) { tree type; *************** fold_truth_andor_1 (location_t loc, enum *** 5947,5952 **** --- 5963,5971 ---- } } + if (lnbitpos < 0) + return 0; + /* Construct the expression we will return. First get the component reference we will make. Unless the mask is all ones the width of that field, perform the mask operation. Then compare with the *************** extract_muldiv_1 (tree t, tree c, enum t *** 6175,6180 **** --- 6194,6200 ---- t1 = extract_muldiv (op0, c, code, wide_type, &sub_strict_overflow_p); t2 = extract_muldiv (op1, c, code, wide_type, &sub_strict_overflow_p); if (t1 != 0 && t2 != 0 + && TYPE_OVERFLOW_WRAPS (ctype) && (code == MULT_EXPR /* If not multiplication, we can only do this if both operands are divisible by c. */ *************** extract_muldiv_1 (tree t, tree c, enum t *** 6237,6247 **** if (TYPE_UNSIGNED (ctype) && ctype != type) break; - /* If we were able to eliminate our operation from the first side, - apply our operation to the second side and reform the PLUS. */ - if (t1 != 0 && (TREE_CODE (t1) != code || code == MULT_EXPR)) - return fold_build2 (tcode, ctype, fold_convert (ctype, t1), op1); - /* The last case is if we are a multiply. In that case, we can apply the distributive law to commute the multiply and addition if the multiplication of the constants doesn't overflow --- 6257,6262 ---- *************** native_encode_vector (const_tree expr, u *** 7200,7214 **** static int native_encode_string (const_tree expr, unsigned char *ptr, int len, int off) { ! tree type = TREE_TYPE (expr); ! HOST_WIDE_INT total_bytes; ! ! if (TREE_CODE (type) != ARRAY_TYPE ! || TREE_CODE (TREE_TYPE (type)) != INTEGER_TYPE ! || GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (type))) != BITS_PER_UNIT ! || !tree_fits_shwi_p (TYPE_SIZE_UNIT (type))) return 0; ! total_bytes = tree_to_shwi (TYPE_SIZE_UNIT (type)); if ((off == -1 && total_bytes > len) || off >= total_bytes) return 0; --- 7215,7224 ---- static int native_encode_string (const_tree expr, unsigned char *ptr, int len, int off) { ! if (! can_native_encode_string_p (expr)) return 0; ! ! HOST_WIDE_INT total_bytes = tree_to_shwi (TYPE_SIZE_UNIT (TREE_TYPE (expr))); if ((off == -1 && total_bytes > len) || off >= total_bytes) return 0; *************** can_native_encode_type_p (tree type) *** 7502,7507 **** --- 7512,7533 ---- } } + /* Return true iff a STRING_CST S is accepted by + native_encode_expr. */ + + bool + can_native_encode_string_p (const_tree expr) + { + tree type = TREE_TYPE (expr); + + if (TREE_CODE (type) != ARRAY_TYPE + || TREE_CODE (TREE_TYPE (type)) != INTEGER_TYPE + || (GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (type))) != BITS_PER_UNIT) + || !tree_fits_shwi_p (TYPE_SIZE_UNIT (type))) + return false; + return true; + } + /* Fold a VIEW_CONVERT_EXPR of a constant expression EXPR to type TYPE at compile-time. If we're unable to perform the conversion return NULL_TREE. */ *************** fold_addr_of_array_ref_difference (locat *** 8879,8885 **** tree op0 = fold_convert_loc (loc, type, TREE_OPERAND (aref0, 1)); tree op1 = fold_convert_loc (loc, type, TREE_OPERAND (aref1, 1)); tree esz = fold_convert_loc (loc, type, array_ref_element_size (aref0)); ! tree diff = build2 (MINUS_EXPR, type, op0, op1); return fold_build2_loc (loc, PLUS_EXPR, type, base_offset, fold_build2_loc (loc, MULT_EXPR, type, --- 8905,8911 ---- tree op0 = fold_convert_loc (loc, type, TREE_OPERAND (aref0, 1)); tree op1 = fold_convert_loc (loc, type, TREE_OPERAND (aref1, 1)); tree esz = fold_convert_loc (loc, type, array_ref_element_size (aref0)); ! tree diff = fold_build2_loc (loc, MINUS_EXPR, type, op0, op1); return fold_build2_loc (loc, PLUS_EXPR, type, base_offset, fold_build2_loc (loc, MULT_EXPR, type, *************** expr_not_equal_to (tree t, const wide_in *** 9097,9104 **** return NULL_TREE. */ tree ! fold_binary_loc (location_t loc, ! enum tree_code code, tree type, tree op0, tree op1) { enum tree_code_class kind = TREE_CODE_CLASS (code); tree arg0, arg1, tem; --- 9123,9130 ---- return NULL_TREE. */ tree ! fold_binary_loc (location_t loc, enum tree_code code, tree type, ! tree op0, tree op1) { enum tree_code_class kind = TREE_CODE_CLASS (code); tree arg0, arg1, tem; *************** fold_binary_loc (location_t loc, *** 9638,9648 **** + (lit0 != 0) + (lit1 != 0) + (minus_lit0 != 0) + (minus_lit1 != 0)))) { - bool any_overflows = false; - if (lit0) any_overflows |= TREE_OVERFLOW (lit0); - if (lit1) any_overflows |= TREE_OVERFLOW (lit1); - if (minus_lit0) any_overflows |= TREE_OVERFLOW (minus_lit0); - if (minus_lit1) any_overflows |= TREE_OVERFLOW (minus_lit1); var0 = associate_trees (loc, var0, var1, code, atype); con0 = associate_trees (loc, con0, con1, code, atype); lit0 = associate_trees (loc, lit0, lit1, code, atype); --- 9664,9669 ---- *************** fold_binary_loc (location_t loc, *** 9673,9681 **** } /* Don't introduce overflows through reassociation. */ ! if (!any_overflows ! && ((lit0 && TREE_OVERFLOW_P (lit0)) ! || (minus_lit0 && TREE_OVERFLOW_P (minus_lit0)))) return NULL_TREE; if (minus_lit0) --- 9694,9701 ---- } /* Don't introduce overflows through reassociation. */ ! if ((lit0 && TREE_OVERFLOW_P (lit0)) ! || (minus_lit0 && TREE_OVERFLOW_P (minus_lit0))) return NULL_TREE; if (minus_lit0) *************** fold_binary_loc (location_t loc, *** 9708,9717 **** case MINUS_EXPR: /* (-A) - B -> (-B) - A where B is easily negated and we can swap. */ if (TREE_CODE (arg0) == NEGATE_EXPR ! && negate_expr_p (op1)) ! return fold_build2_loc (loc, MINUS_EXPR, type, ! negate_expr (op1), ! fold_convert_loc (loc, type, TREE_OPERAND (arg0, 0))); /* Fold __complex__ ( x, 0 ) - __complex__ ( 0, y ) to --- 9728,9744 ---- case MINUS_EXPR: /* (-A) - B -> (-B) - A where B is easily negated and we can swap. */ if (TREE_CODE (arg0) == NEGATE_EXPR ! && negate_expr_p (op1) ! /* If arg0 is e.g. unsigned int and type is int, then this could ! introduce UB, because if A is INT_MIN at runtime, the original ! expression can be well defined while the latter is not. ! See PR83269. */ ! && !(ANY_INTEGRAL_TYPE_P (type) ! && TYPE_OVERFLOW_UNDEFINED (type) ! && ANY_INTEGRAL_TYPE_P (TREE_TYPE (arg0)) ! && !TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (arg0)))) ! return fold_build2_loc (loc, MINUS_EXPR, type, negate_expr (op1), ! fold_convert_loc (loc, type, TREE_OPERAND (arg0, 0))); /* Fold __complex__ ( x, 0 ) - __complex__ ( 0, y ) to *************** fold_binary_loc (location_t loc, *** 11217,11238 **** } /* switch (code) */ } /* Callback for walk_tree, looking for LABEL_EXPR. Return *TP if it is ! a LABEL_EXPR; otherwise return NULL_TREE. Do not check the subtrees ! of GOTO_EXPR. */ static tree ! contains_label_1 (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) { switch (TREE_CODE (*tp)) { case LABEL_EXPR: return *tp; case GOTO_EXPR: *walk_subtrees = 0; ! ! /* fall through */ default: return NULL_TREE; --- 11244,11291 ---- } /* switch (code) */ } + /* Used by contains_label_[p1]. */ + + struct contains_label_data + { + hash_set *pset; + bool inside_switch_p; + }; + /* Callback for walk_tree, looking for LABEL_EXPR. Return *TP if it is ! a LABEL_EXPR or CASE_LABEL_EXPR not inside of another SWITCH_EXPR; otherwise ! return NULL_TREE. Do not check the subtrees of GOTO_EXPR. */ static tree ! contains_label_1 (tree *tp, int *walk_subtrees, void *data) { + contains_label_data *d = (contains_label_data *) data; switch (TREE_CODE (*tp)) { case LABEL_EXPR: return *tp; + case CASE_LABEL_EXPR: + if (!d->inside_switch_p) + return *tp; + return NULL_TREE; + + case SWITCH_EXPR: + if (!d->inside_switch_p) + { + if (walk_tree (&SWITCH_COND (*tp), contains_label_1, data, d->pset)) + return *tp; + d->inside_switch_p = true; + if (walk_tree (&SWITCH_BODY (*tp), contains_label_1, data, d->pset)) + return *tp; + d->inside_switch_p = false; + *walk_subtrees = 0; + } + return NULL_TREE; + case GOTO_EXPR: *walk_subtrees = 0; ! return NULL_TREE; default: return NULL_TREE; *************** contains_label_1 (tree *tp, int *walk_su *** 11245,11252 **** static bool contains_label_p (tree st) { ! return ! (walk_tree_without_duplicates (&st, contains_label_1 , NULL) != NULL_TREE); } /* Fold a ternary expression of code CODE and type TYPE with operands --- 11298,11306 ---- static bool contains_label_p (tree st) { ! hash_set pset; ! contains_label_data data = { &pset, false }; ! return walk_tree (&st, contains_label_1, &data, &pset) != NULL_TREE; } /* Fold a ternary expression of code CODE and type TYPE with operands diff -Nrcpad gcc-7.2.0/gcc/fold-const.h gcc-7.3.0/gcc/fold-const.h *** gcc-7.2.0/gcc/fold-const.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/fold-const.h Mon Sep 18 10:13:54 2017 *************** extern int folding_initializer; *** 28,33 **** --- 28,34 ---- extern int native_encode_expr (const_tree, unsigned char *, int, int off = -1); extern tree native_interpret_expr (tree, const unsigned char *, int); extern bool can_native_encode_type_p (tree); + extern bool can_native_encode_string_p (const_tree); /* Fold constants as much as possible in an expression. Returns the simplified expression. diff -Nrcpad gcc-7.2.0/gcc/fortran/ChangeLog gcc-7.3.0/gcc/fortran/ChangeLog *** gcc-7.2.0/gcc/fortran/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/fortran/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,410 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2018-01-20 Steven G. Kargl + + PR fortran/83900 + * simplify.c (gfc_simplify_matmul): Set return type correctly. + + 2018-01019 Steven G. Kargl + + PR fortran/83900 + * simplify.c (gfc_simplify_matmul): Delete bogus assertion. + + 2018-01-19 Steven G. Kargl + + Backport of r250734 from mainline + PR fortran/80768 + * check.c (gfc_check_num_images): Fix typo. + + 2018-01-18 Harald Anlauf + + Backport from mainline + PR fortran/83864 + * expr.c (gfc_apply_init): Do not dereference NULL pointer. + + 2018-01-17 Harald Anlauf + + Backport from mainline + PR fortran/83874 + * decl.c (add_init_expr_to_sym): Do not dereference NULL pointer. + + 2018-01-13 Steven G. Kargl + + Backport from mainline + PR fortran/78814 + * interface.c (symbol_rank): Check for NULL pointer. + + 2018-01-10 Steven G. Kargl + + Backport from trunk + PR fortran/82367 + * resolve.c (resolve_allocate_expr): Check for NULL pointer. + + 2018-01-10 Steven G. Kargl + + Backport from trunk + PR fortran/83093 + * resolve.c (resolve_charlen): Check the type of cl->length + after resolution. + + 2018-01-10 Steven G. Kargl + + Backport r254555 from trunk + PR Fortran/82841 + * simplify.c(gfc_simplify_transfer): Do not dereference a NULL pointer. + Unwrap a short line. + + 2018-01-04 Steven G. Kargl + + PR Fortran/83679 + * simplify.c (gfc_simplify_cshift): Restore early return for zero-sized + array. Update Copyright year while here. + + 2018-01-02 Thomas Koenig + + PR fortran/83650 + * simplify.c (gfc_simplify_cshift): Correct contition for + negative shifts. + + 2017-12-28 Steven G. Kargl + + PR Fortran/83548 + * match.c (gfc_match_type_spec): Check for LOGICAL conflict in + type-spec versus LOGICAL intrinsic subprogram. + + 2017-12-15 Jakub Jelinek + + Backported from mainline + 2017-11-24 Jakub Jelinek + + PR fortran/81304 + * trans-openmp.c (gfc_trans_omp_array_reduction_or_udr): Set + attr.implicit_type in intrinsic_sym to avoid undesirable warning. + + 2017-11-23 Dirk Broemmel + Jakub Jelinek + + PR fortran/81841 + * parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of + BLOCK DATA. + + 2017-11-28 Paul Thomas + + PR fortran/83021 + * resolve.c (resolve_component): Only escape for use assciated + vtypes if the current namespace has no proc_name and is most + particularly block data. + + 2017-11-23 Paul Thomas + + Backported from trunk + PR fortran/79072 + * trans-expr.c (trans_class_vptr_len_assignment): Set from_len + if the temporary is unlimited polymorphic. + * trans-stmt.c (trans_associate_var): Use the fake result decl + to obtain the 'len' field from an explicit function result when + in that function scope. + + 2017-11-21 Paul Thomas + + Backported from trunk fix for PR82586 + PR fortran/78686 + * resolve.c (resolve_generic_f): Check usage of derived type by + calling gfc_use_derived. + + 2017-11-13 Paul Thomas + + Backport from trunk + PR fortran/82934 + * trans-stmt.c (gfc_trans_allocate): Remove the gcc_assert on + null string length for assumed length typespec and set + expr3_esize to NULL_TREE; + + 2017-11-13 Paul Thomas + + Backport from trunk + PR fortran/78619 + * check.c (same_type_check): Introduce a new argument 'assoc' + with default value false. If this is true, use the symbol type + spec of BT_PROCEDURE expressions. + (gfc_check_associated): Set 'assoc' true in the call to + 'same_type_check'. + + 2017-11-13 Janne Blomqvist + + PR 82869 + * convert.c (truthvalue_conversion): Use logical_type_node. + * trans-array.c (gfc_trans_allocate_array_storage): Likewise. + (gfc_trans_create_temp_array): Likewise. + (gfc_trans_array_ctor_element): Likewise. + (gfc_trans_array_constructor_value): Likewise. + (trans_array_constructor): Likewise. + (trans_array_bound_check): Likewise. + (gfc_conv_array_ref): Likewise. + (gfc_trans_scalarized_loop_end): Likewise. + (gfc_conv_array_extent_dim): Likewise. + (gfc_array_init_size): Likewise. + (gfc_array_allocate): Likewise. + (gfc_trans_array_bounds): Likewise. + (gfc_trans_dummy_array_bias): Likewise. + (gfc_conv_array_parameter): Likewise. + (duplicate_allocatable): Likewise. + (duplicate_allocatable_coarray): Likewise. + (structure_alloc_comps): Likewise + (get_std_lbound): Likewise + (gfc_alloc_allocatable_for_assignment): Likewise + * trans-decl.c (add_argument_checking): Likewise + (gfc_generate_function_code): Likewise + * trans-expr.c (gfc_copy_class_to_class): Likewise + (gfc_trans_class_array_init_assign): Likewise + (gfc_trans_class_init_assign): Likewise + (gfc_conv_expr_present): Likewise + (gfc_conv_substring): Likewise + (gfc_conv_cst_int_power): Likewise + (gfc_conv_expr_op): Likewise + (gfc_conv_procedure_call): Likewise + (fill_with_spaces): Likewise + (gfc_trans_string_copy): Likewise + (gfc_trans_alloc_subarray_assign): Likewise + (gfc_trans_pointer_assignment): Likewise + (gfc_trans_scalar_assign): Likewise + (fcncall_realloc_result): Likewise + (alloc_scalar_allocatable_for_assignment): Likewise + (trans_class_assignment): Likewise + (gfc_trans_assignment_1): Likewise + * trans-intrinsic.c (build_fixbound_expr): Likewise + (gfc_conv_intrinsic_aint): Likewise + (gfc_trans_same_strlen_check): Likewise + (conv_caf_send): Likewise + (trans_this_image): Likewise + (conv_intrinsic_image_status): Likewise + (trans_image_index): Likewise + (gfc_conv_intrinsic_bound): Likewise + (conv_intrinsic_cobound): Likewise + (gfc_conv_intrinsic_mod): Likewise + (gfc_conv_intrinsic_dshift): Likewise + (gfc_conv_intrinsic_dim): Likewise + (gfc_conv_intrinsic_sign): Likewise + (gfc_conv_intrinsic_ctime): Likewise + (gfc_conv_intrinsic_fdate): Likewise + (gfc_conv_intrinsic_ttynam): Likewise + (gfc_conv_intrinsic_minmax): Likewise + (gfc_conv_intrinsic_minmax_char): Likewise + (gfc_conv_intrinsic_anyall): Likewise + (gfc_conv_intrinsic_arith): Likewise + (gfc_conv_intrinsic_minmaxloc): Likewise + (gfc_conv_intrinsic_minmaxval): Likewise + (gfc_conv_intrinsic_btest): Likewise + (gfc_conv_intrinsic_bitcomp): Likewise + (gfc_conv_intrinsic_shift): Likewise + (gfc_conv_intrinsic_ishft): Likewise + (gfc_conv_intrinsic_ishftc): Likewise + (gfc_conv_intrinsic_leadz): Likewise + (gfc_conv_intrinsic_trailz): Likewise + (gfc_conv_intrinsic_mask): Likewise + (gfc_conv_intrinsic_spacing): Likewise + (gfc_conv_intrinsic_rrspacing): Likewise + (gfc_conv_intrinsic_size): Likewise + (gfc_conv_intrinsic_sizeof): Likewise + (gfc_conv_intrinsic_transfer): Likewise + (gfc_conv_allocated): Likewise + (gfc_conv_associated): Likewise + (gfc_conv_same_type_as): Likewise + (gfc_conv_intrinsic_trim): Likewise + (gfc_conv_intrinsic_repeat): Likewise + (conv_isocbinding_function): Likewise + (conv_intrinsic_ieee_is_normal): Likewise + (conv_intrinsic_ieee_is_negative): Likewise + (conv_intrinsic_ieee_copy_sign): Likewise + (conv_intrinsic_move_alloc): Likewise + * trans-io.c (set_parameter_value_chk): Likewise + (set_parameter_value_inquire): Likewise + (set_string): Likewise + * trans-openmp.c (gfc_walk_alloc_comps): Likewise + (gfc_omp_clause_default_ctor): Likewise + (gfc_omp_clause_copy_ctor): Likewise + (gfc_omp_clause_assign_op): Likewise + (gfc_omp_clause_dtor): Likewise + (gfc_omp_finish_clause): Likewise + (gfc_trans_omp_clauses): Likewise + (gfc_trans_omp_do): Likewise + * trans-stmt.c (gfc_trans_goto): Likewise + (gfc_trans_sync): Likewise + (gfc_trans_arithmetic_if): Likewise + (gfc_trans_simple_do): Likewise + (gfc_trans_do): Likewise + (gfc_trans_forall_loop): Likewise + (gfc_trans_where_2): Likewise + (gfc_trans_allocate): Likewise + (gfc_trans_deallocate): Likewise + * trans-types.c (gfc_init_types): Initialize logical_type_node and + their true/false trees. + (gfc_get_array_descr_info): Use logical_type_node. + * trans-types.h (logical_type_node): New tree. + (logical_true_node): Likewise. + (logical_false_node): Likewise. + * trans.c (gfc_trans_runtime_check): Use logical_type_node. + (gfc_call_malloc): Likewise + (gfc_allocate_using_malloc): Likewise + (gfc_allocate_allocatable): Likewise + (gfc_add_comp_finalizer_call): Likewise + (gfc_add_finalizer_call): Likewise + (gfc_deallocate_with_status): Likewise + (gfc_deallocate_scalar_with_status): Likewise + (gfc_call_realloc): Likewise + + 2017-11-06 Paul Thomas + + Backported from trunk + PR fortran/78641 + * resolve.c (resolve_ordinary_assign): Do not add the _data + component for class valued array constructors being assigned + to derived type arrays. + * trans-array.c (gfc_trans_array_ctor_element): Take the _data + of class valued elements for assignment to derived type arrays. + + 2017-11-06 Paul Thomas + + Backported from trunk + PR fortran/69739 + * trans-expr.c (gfc_map_intrinsic_function): Return false for + bounds without the DIM argument instead of ICEing. + + 2017-11-04 Steven G. Kargl + + PR fortran/82796 + * resolve.c (resolve_equivalence): An entity in a common block within + a module cannot appear in an equivalence statement if the entity is + with a pure procedure. + + 2017-11-04 Andre Vehreschild + + * trans-expr.c (gfc_trans_assignment_1): Character kind conversion may + create a loop variant temporary, too. + * trans-intrinsic.c (conv_caf_send): Treat char arrays as arrays and + not as scalars. + * trans.c (get_array_span): Take the character kind into account when + doing pointer arithmetic. + + 2017-11-03 Paul Thomas + + PR fortran/81735 + * trans-decl.c (gfc_trans_deferred_vars): Correct case where + 'tmp' can be used unititialized. + + 2017-11-01 Paul Thomas + + Backported from trunk + PR fortran/80554 + * decl.c (build_sym): In a submodule allow overriding of host + associated symbols from the ancestor module with a new + declaration. + + 2017-11-01 Paul Thomas + + Backport from trunk + PR fortran/80850 + * trans_expr.c (gfc_conv_procedure_call): When passing a class + argument to an unlimited polymorphic dummy, it is wrong to cast + the passed expression as unlimited, unless it is unlimited. The + correct way is to assign to each of the fields and set the _len + field to zero. + + 2017-10-28 Andre Vehreschild + + * check.c (gfc_check_co_reduce): Clarify error message. + + 2017-10-28 Paul Thomas + + Backported from trunk + PR fortran/81758 + * trans-expr.c (trans_class_vptr_len_assignment): 'vptr_expr' + must only be set if the right hand side expression is of type + class. + + 2017-10-21 Paul Thomas + + Backport from trunk + PR fortran/82312 + * resolve.c (gfc_resolve_code): Simplify condition for class + pointer assignments becoming regular assignments by asserting + that only class valued targets are permitted. + * trans-expr.c (trans_class_pointer_fcn): New function using a + block of code from gfc_trans_pointer_assignment. + (gfc_trans_pointer_assignment): Call the new function. Tidy up + a minor whitespace issue. + + 2017-10-20 Thomas Koenig + + Backport from trunk + PR fortran/79795 + * resolve.c (resovle_symbol): Change gcc_assert to + sensible error message. + + 2017-10-16 Paul Thomas + + PR fortran/52832 + * match.c (gfc_match_associate): Before failing the association + try again, allowing a proc pointer selector. + + PR fortran/80120 + PR fortran/81903 + PR fortran/82121 + * primary.c (gfc_match_varspec): Introduce 'tgt_expr', which + points to the associate selector, if any. Go through selector + references, after resolution for variables, to catch any full + or section array references. If a class associate name does + not have the same declared type as the selector, resolve the + selector and copy the declared type to the associate name. + Before throwing a no implicit type error, resolve all allowed + selector expressions, and copy the resulting typespec. + + PR fortran/67543 + * resolve.c (resolve_assoc_var): Selector must cannot be the + NULL expression and it must have a type. + + PR fortran/78152 + * resolve.c (resolve_symbol): Allow associate names to be + coarrays. + + 2017-10-16 Paul Thomas + + Backport from trunk + PR fortran/81048 + * resolve.c (resolve_symbol): Ensure that derived type array + results get default initialization. + + 2017-10-03 Thomas Koenig + Steven G. Kargl + + Backport from trunk + PR fortran/80118 + * expr.c (gfc_get_full_arrayspec_from_expr): If there is + no symtree, set array spec to NULL. + + 2017-09-02 Janus Weil + + Backport from trunk + PR fortran/81770 + * expr.c (gfc_check_pointer_assign): Improve the check whether pointer + may outlive pointer target. + + 2017-08-22 Jerry DeLisle + + Backport from trunk + PR fortran/81296 + * trans-io.c (get_dtio_proc): Add check for format label and set + formatted flag accordingly. Reorganize the code a little. + + 2017-08-18 Jerry DeLisle + + Backport from trunk + PR fortran/80164 + * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc + as warning/error locus. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/fortran/check.c gcc-7.3.0/gcc/fortran/check.c *** gcc-7.2.0/gcc/fortran/check.c Sun Mar 5 11:35:47 2017 --- gcc-7.3.0/gcc/fortran/check.c Fri Jan 19 23:37:29 2018 *************** less_than_bitsize2 (const char *arg1, gf *** 427,441 **** /* Make sure two expressions have the same type. */ static bool ! same_type_check (gfc_expr *e, int n, gfc_expr *f, int m) { gfc_typespec *ets = &e->ts; gfc_typespec *fts = &f->ts; ! if (e->ts.type == BT_PROCEDURE && e->symtree->n.sym) ! ets = &e->symtree->n.sym->ts; ! if (f->ts.type == BT_PROCEDURE && f->symtree->n.sym) ! fts = &f->symtree->n.sym->ts; if (gfc_compare_types (ets, fts)) return true; --- 427,448 ---- /* Make sure two expressions have the same type. */ static bool ! same_type_check (gfc_expr *e, int n, gfc_expr *f, int m, bool assoc = false) { gfc_typespec *ets = &e->ts; gfc_typespec *fts = &f->ts; ! if (assoc) ! { ! /* Procedure pointer component expressions have the type of the interface ! procedure. If they are being tested for association with a procedure ! pointer (ie. not a component), the type of the procedure must be ! determined. */ ! if (e->ts.type == BT_PROCEDURE && e->symtree->n.sym) ! ets = &e->symtree->n.sym->ts; ! if (f->ts.type == BT_PROCEDURE && f->symtree->n.sym) ! fts = &f->symtree->n.sym->ts; ! } if (gfc_compare_types (ets, fts)) return true; *************** gfc_check_associated (gfc_expr *pointer, *** 1002,1008 **** } t = true; ! if (!same_type_check (pointer, 0, target, 1)) t = false; if (!rank_check (target, 0, pointer->rank)) t = false; --- 1009,1015 ---- } t = true; ! if (!same_type_check (pointer, 0, target, 1, true)) t = false; if (!rank_check (target, 0, pointer->rank)) t = false; *************** gfc_check_co_reduce (gfc_expr *a, gfc_ex *** 1731,1737 **** if (!gfc_compare_types (&a->ts, &sym->result->ts)) { ! gfc_error ("A argument at %L has type %s but the function passed as " "OPERATOR at %L returns %s", &a->where, gfc_typename (&a->ts), &op->where, gfc_typename (&sym->result->ts)); --- 1738,1744 ---- if (!gfc_compare_types (&a->ts, &sym->result->ts)) { ! gfc_error ("The A argument at %L has type %s but the function passed as " "OPERATOR at %L returns %s", &a->where, gfc_typename (&a->ts), &op->where, gfc_typename (&sym->result->ts)); *************** gfc_check_num_images (gfc_expr *distance *** 5149,5155 **** return false; if (!gfc_notify_std (GFC_STD_F2008_TS, "FAILED= argument to " ! "NUM_IMAGES at %L", &distance->where)) return false; } --- 5156,5162 ---- return false; if (!gfc_notify_std (GFC_STD_F2008_TS, "FAILED= argument to " ! "NUM_IMAGES at %L", &failed->where)) return false; } diff -Nrcpad gcc-7.2.0/gcc/fortran/convert.c gcc-7.3.0/gcc/fortran/convert.c *** gcc-7.2.0/gcc/fortran/convert.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/fortran/convert.c Mon Nov 13 20:01:20 2017 *************** along with GCC; see the file COPYING3. *** 29,38 **** #include "fold-const.h" #include "convert.h" /* Prepare expr to be an argument of a TRUTH_NOT_EXPR, or validate its data type for a GIMPLE `if' or `while' statement. ! The resulting type should always be `boolean_type_node'. */ static tree truthvalue_conversion (tree expr) --- 29,42 ---- #include "fold-const.h" #include "convert.h" + #include "gfortran.h" + #include "trans.h" + #include "trans-types.h" + /* Prepare expr to be an argument of a TRUTH_NOT_EXPR, or validate its data type for a GIMPLE `if' or `while' statement. ! The resulting type should always be `logical_type_node'. */ static tree truthvalue_conversion (tree expr) *************** truthvalue_conversion (tree expr) *** 40,64 **** switch (TREE_CODE (TREE_TYPE (expr))) { case BOOLEAN_TYPE: ! if (TREE_TYPE (expr) == boolean_type_node) return expr; else if (COMPARISON_CLASS_P (expr)) { ! TREE_TYPE (expr) = boolean_type_node; return expr; } else if (TREE_CODE (expr) == NOP_EXPR) return fold_build1_loc (input_location, NOP_EXPR, ! boolean_type_node, TREE_OPERAND (expr, 0)); else ! return fold_build1_loc (input_location, NOP_EXPR, boolean_type_node, expr); case INTEGER_TYPE: if (TREE_CODE (expr) == INTEGER_CST) ! return integer_zerop (expr) ? boolean_false_node : boolean_true_node; else ! return fold_build2_loc (input_location, NE_EXPR, boolean_type_node, expr, build_int_cst (TREE_TYPE (expr), 0)); default: --- 44,72 ---- switch (TREE_CODE (TREE_TYPE (expr))) { case BOOLEAN_TYPE: ! if (TREE_TYPE (expr) == logical_type_node) return expr; else if (COMPARISON_CLASS_P (expr)) { ! TREE_TYPE (expr) = logical_type_node; return expr; } else if (TREE_CODE (expr) == NOP_EXPR) return fold_build1_loc (input_location, NOP_EXPR, ! logical_type_node, ! TREE_OPERAND (expr, 0)); else ! return fold_build1_loc (input_location, NOP_EXPR, ! logical_type_node, expr); case INTEGER_TYPE: if (TREE_CODE (expr) == INTEGER_CST) ! return integer_zerop (expr) ? logical_false_node ! : logical_true_node; else ! return fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, expr, build_int_cst (TREE_TYPE (expr), 0)); default: diff -Nrcpad gcc-7.2.0/gcc/fortran/decl.c gcc-7.3.0/gcc/fortran/decl.c *** gcc-7.2.0/gcc/fortran/decl.c Sat Mar 25 17:38:17 2017 --- gcc-7.3.0/gcc/fortran/decl.c Thu Jan 18 00:30:42 2018 *************** build_sym (const char *name, gfc_charlen *** 1383,1390 **** symbol_attribute attr; gfc_symbol *sym; int upper; ! if (gfc_get_symbol (name, NULL, &sym)) return false; /* Check if the name has already been defined as a type. The --- 1383,1410 ---- symbol_attribute attr; gfc_symbol *sym; int upper; + gfc_symtree *st; ! /* Symbols in a submodule are host associated from the parent module or ! submodules. Therefore, they can be overridden by declarations in the ! submodule scope. Deal with this by attaching the existing symbol to ! a new symtree and recycling the old symtree with a new symbol... */ ! st = gfc_find_symtree (gfc_current_ns->sym_root, name); ! if (st != NULL && gfc_state_stack->state == COMP_SUBMODULE ! && st->n.sym != NULL ! && st->n.sym->attr.host_assoc && st->n.sym->attr.used_in_submodule) ! { ! gfc_symtree *s = gfc_get_unique_symtree (gfc_current_ns); ! s->n.sym = st->n.sym; ! sym = gfc_new_symbol (name, gfc_current_ns); ! ! ! st->n.sym = sym; ! sym->refs++; ! gfc_set_sym_referenced (sym); ! } ! /* ...Otherwise generate a new symtree and new symbol. */ ! else if (gfc_get_symbol (name, NULL, &sym)) return false; /* Check if the name has already been defined as a type. The *************** add_init_expr_to_sym (const char *name, *** 1672,1678 **** } else if (init->expr_type == EXPR_ARRAY) { ! if (init->ts.u.cl) { const gfc_expr *length = init->ts.u.cl->length; if (length->expr_type != EXPR_CONSTANT) --- 1692,1698 ---- } else if (init->expr_type == EXPR_ARRAY) { ! if (init->ts.u.cl && init->ts.u.cl->length) { const gfc_expr *length = init->ts.u.cl->length; if (length->expr_type != EXPR_CONSTANT) diff -Nrcpad gcc-7.2.0/gcc/fortran/expr.c gcc-7.3.0/gcc/fortran/expr.c *** gcc-7.2.0/gcc/fortran/expr.c Mon May 15 20:43:25 2017 --- gcc-7.3.0/gcc/fortran/expr.c Thu Jan 18 18:27:22 2018 *************** gfc_check_pointer_assign (gfc_expr *lval *** 3806,3812 **** if (warn_target_lifetime && rvalue->expr_type == EXPR_VARIABLE && !rvalue->symtree->n.sym->attr.save ! && !attr.pointer && !rvalue->symtree->n.sym->attr.host_assoc && !rvalue->symtree->n.sym->attr.in_common && !rvalue->symtree->n.sym->attr.use_assoc && !rvalue->symtree->n.sym->attr.dummy) --- 3806,3813 ---- if (warn_target_lifetime && rvalue->expr_type == EXPR_VARIABLE && !rvalue->symtree->n.sym->attr.save ! && !rvalue->symtree->n.sym->attr.pointer && !attr.pointer ! && !rvalue->symtree->n.sym->attr.host_assoc && !rvalue->symtree->n.sym->attr.in_common && !rvalue->symtree->n.sym->attr.use_assoc && !rvalue->symtree->n.sym->attr.dummy) *************** gfc_apply_init (gfc_typespec *ts, symbol *** 4129,4135 **** if (init->expr_type == EXPR_CONSTANT) gfc_set_constant_character_len (len, init, -1); else if (init ! && init->ts.u.cl && mpz_cmp (ts->u.cl->length->value.integer, init->ts.u.cl->length->value.integer)) { --- 4130,4137 ---- if (init->expr_type == EXPR_CONSTANT) gfc_set_constant_character_len (len, init, -1); else if (init ! && init->ts.type == BT_CHARACTER ! && init->ts.u.cl && init->ts.u.cl->length && mpz_cmp (ts->u.cl->length->value.integer, init->ts.u.cl->length->value.integer)) { *************** gfc_get_full_arrayspec_from_expr (gfc_ex *** 4514,4520 **** 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) --- 4516,4526 ---- if (expr->expr_type == EXPR_VARIABLE || expr->expr_type == EXPR_CONSTANT) { ! if (expr->symtree) ! as = expr->symtree->n.sym->as; ! else ! as = NULL; ! for (ref = expr->ref; ref; ref = ref->next) { switch (ref->type) diff -Nrcpad gcc-7.2.0/gcc/fortran/gfortran.info gcc-7.3.0/gcc/fortran/gfortran.info *** gcc-7.2.0/gcc/fortran/gfortran.info Mon Aug 14 08:30:40 2017 --- gcc-7.3.0/gcc/fortran/gfortran.info Thu Jan 25 08:41:37 2018 *************** *** 1,5 **** This is doc/gfortran.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/fortran/gfortran.texi. Copyright (C) 1999-2017 Free Software Foundation, Inc. --- 1,5 ---- This is doc/gfortran.info, produced by makeinfo version 4.13 from ! /space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/fortran/gfortran.texi. Copyright (C) 1999-2017 Free Software Foundation, Inc. diff -Nrcpad gcc-7.2.0/gcc/fortran/interface.c gcc-7.3.0/gcc/fortran/interface.c *** gcc-7.2.0/gcc/fortran/interface.c Wed Mar 22 16:29:30 2017 --- gcc-7.3.0/gcc/fortran/interface.c Sat Jan 13 18:58:56 2018 *************** generic_correspondence (gfc_formal_argli *** 1261,1268 **** static int symbol_rank (gfc_symbol *sym) { ! gfc_array_spec *as; ! as = (sym->ts.type == BT_CLASS) ? CLASS_DATA (sym)->as : sym->as; return as ? as->rank : 0; } --- 1261,1273 ---- static int symbol_rank (gfc_symbol *sym) { ! gfc_array_spec *as = NULL; ! ! if (sym->ts.type == BT_CLASS && CLASS_DATA (sym) && CLASS_DATA (sym)->as) ! as = CLASS_DATA (sym)->as; ! else ! as = sym->as; ! return as ? as->rank : 0; } diff -Nrcpad gcc-7.2.0/gcc/fortran/match.c gcc-7.3.0/gcc/fortran/match.c *** gcc-7.2.0/gcc/fortran/match.c Wed Mar 22 16:29:30 2017 --- gcc-7.3.0/gcc/fortran/match.c Thu Dec 28 20:43:38 2017 *************** gfc_match_associate (void) *** 1882,1889 **** if (gfc_match (" %n => %e", newAssoc->name, &newAssoc->target) != MATCH_YES) { ! gfc_error ("Expected association at %C"); ! goto assocListError; } newAssoc->where = gfc_current_locus; --- 1882,1896 ---- if (gfc_match (" %n => %e", newAssoc->name, &newAssoc->target) != MATCH_YES) { ! /* Have another go, allowing for procedure pointer selectors. */ ! gfc_matching_procptr_assignment = 1; ! if (gfc_match (" %n => %e", newAssoc->name, &newAssoc->target) ! != MATCH_YES) ! { ! gfc_error ("Expected association at %C"); ! goto assocListError; ! } ! gfc_matching_procptr_assignment = 0; } newAssoc->where = gfc_current_locus; *************** gfc_match_type_spec (gfc_typespec *ts) *** 2045,2071 **** return m; } - if (gfc_match ("logical") == MATCH_YES) - { - ts->type = BT_LOGICAL; - ts->kind = gfc_default_logical_kind; - goto kind_selector; - } - /* REAL is a real pain because it can be a type, intrinsic subprogram, or list item in a type-list of an OpenMP reduction clause. Need to differentiate REAL([KIND]=scalar-int-initialization-expr) from ! REAL(A,[KIND]) and REAL(KIND,A). */ m = gfc_match (" %n", name); ! if (m == MATCH_YES && strcmp (name, "real") == 0) { char c; gfc_expr *e; locus where; ! ts->type = BT_REAL; ! ts->kind = gfc_default_real_kind; gfc_gobble_whitespace (); --- 2052,2082 ---- return m; } /* REAL is a real pain because it can be a type, intrinsic subprogram, or list item in a type-list of an OpenMP reduction clause. Need to differentiate REAL([KIND]=scalar-int-initialization-expr) from ! REAL(A,[KIND]) and REAL(KIND,A). Logically, when this code was ! written the use of LOGICAL as a type-spec or intrinsic subprogram ! was overlooked. */ m = gfc_match (" %n", name); ! if (m == MATCH_YES ! && (strcmp (name, "real") == 0 || strcmp (name, "logical") == 0)) { char c; gfc_expr *e; locus where; ! if (*name == 'r') ! { ! ts->type = BT_REAL; ! ts->kind = gfc_default_real_kind; ! } ! else ! { ! ts->type = BT_LOGICAL; ! ts->kind = gfc_default_logical_kind; ! } gfc_gobble_whitespace (); *************** gfc_match_type_spec (gfc_typespec *ts) *** 2097,2103 **** c = gfc_next_char (); if (c == '=') { ! if (strcmp(name, "a") == 0) return MATCH_NO; else if (strcmp(name, "kind") == 0) goto found; --- 2108,2114 ---- c = gfc_next_char (); if (c == '=') { ! if (strcmp(name, "a") == 0 || strcmp(name, "l") == 0) return MATCH_NO; else if (strcmp(name, "kind") == 0) goto found; *************** found: *** 2137,2143 **** gfc_next_char (); /* Burn the ')'. */ ts->kind = (int) mpz_get_si (e->value.integer); ! if (gfc_validate_kind (BT_REAL, ts->kind , true) == -1) { gfc_error ("Invalid type-spec at %C"); return MATCH_ERROR; --- 2148,2154 ---- gfc_next_char (); /* Burn the ')'. */ ts->kind = (int) mpz_get_si (e->value.integer); ! if (gfc_validate_kind (ts->type, ts->kind , true) == -1) { gfc_error ("Invalid type-spec at %C"); return MATCH_ERROR; diff -Nrcpad gcc-7.2.0/gcc/fortran/parse.c gcc-7.3.0/gcc/fortran/parse.c *** gcc-7.2.0/gcc/fortran/parse.c Thu Mar 16 16:50:27 2017 --- gcc-7.3.0/gcc/fortran/parse.c Fri Dec 15 21:55:47 2017 *************** loop: *** 3694,3699 **** --- 3694,3700 ---- case ST_EQUIVALENCE: case ST_IMPLICIT: case ST_IMPLICIT_NONE: + case ST_OMP_THREADPRIVATE: case ST_PARAMETER: case ST_STRUCTURE_DECL: case ST_TYPE: diff -Nrcpad gcc-7.2.0/gcc/fortran/primary.c gcc-7.3.0/gcc/fortran/primary.c *** gcc-7.2.0/gcc/fortran/primary.c Wed Mar 22 16:29:30 2017 --- gcc-7.3.0/gcc/fortran/primary.c Mon Oct 16 19:44:04 2017 *************** gfc_match_varspec (gfc_expr *primary, in *** 1890,1895 **** --- 1890,1896 ---- gfc_ref *substring, *tail, *tmp; gfc_component *component; gfc_symbol *sym = primary->symtree->n.sym; + gfc_expr *tgt_expr = NULL; match m; bool unknown; char sep; *************** gfc_match_varspec (gfc_expr *primary, in *** 1918,1923 **** --- 1919,1927 ---- } } + if (sym->assoc && sym->assoc->target) + tgt_expr = sym->assoc->target; + /* For associate names, we may not yet know whether they are arrays or not. If the selector expression is unambiguously an array; eg. a full array or an array section, then the associate name must be an array and we can *************** gfc_match_varspec (gfc_expr *primary, in *** 1929,1954 **** && sym->ts.type != BT_CLASS && !sym->attr.dimension) { ! if ((!sym->assoc->dangling ! && sym->assoc->target ! && sym->assoc->target->ref ! && sym->assoc->target->ref->type == REF_ARRAY ! && (sym->assoc->target->ref->u.ar.type == AR_FULL ! || sym->assoc->target->ref->u.ar.type == AR_SECTION)) ! || ! (!(sym->assoc->dangling || sym->ts.type == BT_CHARACTER) ! && sym->assoc->st ! && sym->assoc->st->n.sym ! && sym->assoc->st->n.sym->attr.dimension == 0)) { ! sym->attr.dimension = 1; ! if (sym->as == NULL && sym->assoc && sym->assoc->st && sym->assoc->st->n.sym && sym->assoc->st->n.sym->as) sym->as = gfc_copy_array_spec (sym->assoc->st->n.sym->as); } } if ((equiv_flag && gfc_peek_ascii_char () == '(') || gfc_peek_ascii_char () == '[' || sym->attr.codimension --- 1933,1975 ---- && sym->ts.type != BT_CLASS && !sym->attr.dimension) { ! gfc_ref *ref = NULL; ! ! if (!sym->assoc->dangling && tgt_expr) { ! if (tgt_expr->expr_type == EXPR_VARIABLE) ! gfc_resolve_expr (tgt_expr); ! ! ref = tgt_expr->ref; ! for (; ref; ref = ref->next) ! if (ref->type == REF_ARRAY ! && (ref->u.ar.type == AR_FULL ! || ref->u.ar.type == AR_SECTION)) ! break; ! } ! ! if (ref || (!(sym->assoc->dangling || sym->ts.type == BT_CHARACTER) ! && sym->assoc->st ! && sym->assoc->st->n.sym ! && sym->assoc->st->n.sym->attr.dimension == 0)) ! { ! sym->attr.dimension = 1; ! if (sym->as == NULL && sym->assoc->st && sym->assoc->st->n.sym && sym->assoc->st->n.sym->as) sym->as = gfc_copy_array_spec (sym->assoc->st->n.sym->as); } } + else if (sym->ts.type == BT_CLASS + && tgt_expr + && tgt_expr->expr_type == EXPR_VARIABLE + && sym->ts.u.derived != tgt_expr->ts.u.derived) + { + gfc_resolve_expr (tgt_expr); + if (tgt_expr->rank) + sym->ts.u.derived = tgt_expr->ts.u.derived; + } if ((equiv_flag && gfc_peek_ascii_char () == '(') || gfc_peek_ascii_char () == '[' || sym->attr.codimension *************** gfc_match_varspec (gfc_expr *primary, in *** 2008,2017 **** && gfc_get_default_type (sym->name, sym->ns)->type == BT_DERIVED) gfc_set_default_type (sym, 0, sym->ns); if (sym->ts.type == BT_UNKNOWN && m == MATCH_YES) { ! gfc_error ("Symbol %qs at %C has no IMPLICIT type", sym->name); ! return MATCH_ERROR; } else if ((sym->ts.type != BT_DERIVED && sym->ts.type != BT_CLASS) && m == MATCH_YES) --- 2029,2059 ---- && gfc_get_default_type (sym->name, sym->ns)->type == BT_DERIVED) gfc_set_default_type (sym, 0, sym->ns); + /* See if there is a usable typespec in the "no IMPLICIT type" error. */ if (sym->ts.type == BT_UNKNOWN && m == MATCH_YES) { ! bool permissible; ! ! /* These target expressions can ge resolved at any time. */ ! permissible = tgt_expr && tgt_expr->symtree && tgt_expr->symtree->n.sym ! && (tgt_expr->symtree->n.sym->attr.use_assoc ! || tgt_expr->symtree->n.sym->attr.host_assoc ! || tgt_expr->symtree->n.sym->attr.if_source ! == IFSRC_DECL); ! permissible = permissible ! || (tgt_expr && tgt_expr->expr_type == EXPR_OP); ! ! if (permissible) ! { ! gfc_resolve_expr (tgt_expr); ! sym->ts = tgt_expr->ts; ! } ! ! if (sym->ts.type == BT_UNKNOWN) ! { ! gfc_error ("Symbol %qs at %C has no IMPLICIT type", sym->name); ! return MATCH_ERROR; ! } } else if ((sym->ts.type != BT_DERIVED && sym->ts.type != BT_CLASS) && m == MATCH_YES) *************** gfc_match_structure_constructor (gfc_sym *** 2948,2954 **** expression here. */ if (gfc_in_match_data ()) gfc_reduce_init_expr (e); ! *result = e; return MATCH_YES; } --- 2990,2996 ---- expression here. */ if (gfc_in_match_data ()) gfc_reduce_init_expr (e); ! *result = e; return MATCH_YES; } *************** match_variable (gfc_expr **result, int e *** 3662,3668 **** implicit_ns = gfc_current_ns; else implicit_ns = sym->ns; ! old_loc = gfc_current_locus; if (gfc_match_member_sep (sym) == MATCH_YES && sym->ts.type == BT_UNKNOWN --- 3704,3710 ---- implicit_ns = gfc_current_ns; else implicit_ns = sym->ns; ! old_loc = gfc_current_locus; if (gfc_match_member_sep (sym) == MATCH_YES && sym->ts.type == BT_UNKNOWN diff -Nrcpad gcc-7.2.0/gcc/fortran/resolve.c gcc-7.3.0/gcc/fortran/resolve.c *** gcc-7.2.0/gcc/fortran/resolve.c Mon Jun 5 09:31:32 2017 --- gcc-7.3.0/gcc/fortran/resolve.c Wed Jan 10 23:41:48 2018 *************** generic: *** 2591,2596 **** --- 2591,2598 ---- if (!gfc_convert_to_structure_constructor (expr, intr->sym, NULL, NULL, false)) return false; + if (!gfc_use_derived (expr->ts.u.derived)) + return false; return resolve_structure_cons (expr, 0); } *************** resolve_allocate_expr (gfc_expr *e, gfc_ *** 7285,7292 **** if (code->ext.alloc.ts.type == BT_CHARACTER && !e->ts.deferred && !UNLIMITED_POLY (e)) { ! int cmp = gfc_dep_compare_expr (e->ts.u.cl->length, ! code->ext.alloc.ts.u.cl->length); if (cmp == 1 || cmp == -1 || cmp == -3) { gfc_error ("Allocating %s at %L with type-spec requires the same " --- 7287,7299 ---- if (code->ext.alloc.ts.type == BT_CHARACTER && !e->ts.deferred && !UNLIMITED_POLY (e)) { ! int cmp; ! ! if (!e->ts.u.cl->length) ! goto failure; ! ! cmp = gfc_dep_compare_expr (e->ts.u.cl->length, ! code->ext.alloc.ts.u.cl->length); if (cmp == 1 || cmp == -1 || cmp == -3) { gfc_error ("Allocating %s at %L with type-spec requires the same " *************** resolve_assoc_var (gfc_symbol* sym, bool *** 8294,8304 **** --- 8301,8323 ---- sym->attr.subref_array_pointer = 1; } + if (target->expr_type == EXPR_NULL) + { + gfc_error ("Selector at %L cannot be NULL()", &target->where); + return; + } + else if (target->ts.type == BT_UNKNOWN) + { + gfc_error ("Selector at %L has no type", &target->where); + return; + } + /* Get type if this was not already set. Note that it can be some other type than the target in case this is a SELECT TYPE selector! So we must not update when the type is already there. */ if (sym->ts.type == BT_UNKNOWN) sym->ts = target->ts; + gcc_assert (sym->ts.type != BT_UNKNOWN); /* See if this is a valid association-to-variable. */ *************** resolve_ordinary_assign (gfc_code *code, *** 10112,10118 **** /* Assign the 'data' of a class object to a derived type. */ if (lhs->ts.type == BT_DERIVED ! && rhs->ts.type == BT_CLASS) gfc_add_data_component (rhs); bool caf_convert_to_send = flag_coarray == GFC_FCOARRAY_LIB --- 10131,10138 ---- /* Assign the 'data' of a class object to a derived type. */ if (lhs->ts.type == BT_DERIVED ! && rhs->ts.type == BT_CLASS ! && rhs->expr_type != EXPR_ARRAY) gfc_add_data_component (rhs); bool caf_convert_to_send = flag_coarray == GFC_FCOARRAY_LIB *************** start: *** 11005,11015 **** /* Assigning a class object always is a regular assign. */ if (code->expr2->ts.type == BT_CLASS && !CLASS_DATA (code->expr2)->attr.dimension - && !(UNLIMITED_POLY (code->expr2) - && code->expr1->ts.type == BT_DERIVED - && (code->expr1->ts.u.derived->attr.sequence - || code->expr1->ts.u.derived->attr.is_bind_c)) && !(gfc_expr_attr (code->expr1).proc_pointer && code->expr2->expr_type == EXPR_VARIABLE && code->expr2->symtree->n.sym->attr.flavor --- 11025,11032 ---- /* Assigning a class object always is a regular assign. */ if (code->expr2->ts.type == BT_CLASS + && code->expr1->ts.type == BT_CLASS && !CLASS_DATA (code->expr2)->attr.dimension && !(gfc_expr_attr (code->expr1).proc_pointer && code->expr2->expr_type == EXPR_VARIABLE && code->expr2->symtree->n.sym->attr.flavor *************** resolve_charlen (gfc_charlen *cl) *** 11446,11455 **** specification_expr = saved_specification_expr; return false; } } else { - if (!resolve_index_expr (cl->length)) { specification_expr = saved_specification_expr; --- 11463,11479 ---- specification_expr = saved_specification_expr; return false; } + + /* cl->length has been resolved. It should have an integer type. */ + if (cl->length && cl->length->ts.type != BT_INTEGER) + { + gfc_error ("Scalar INTEGER expression expected at %L", + &cl->length->where); + return false; + } } else { if (!resolve_index_expr (cl->length)) { specification_expr = saved_specification_expr; *************** deferred_requirements (gfc_symbol *sym) *** 11824,11829 **** --- 11848,11854 ---- if (sym->ts.deferred && !(sym->attr.pointer || sym->attr.allocatable + || sym->attr.associate_var || sym->attr.omp_udr_artificial_var)) { gfc_error ("Entity %qs at %L has a deferred type parameter and " *************** resolve_component (gfc_component *c, gfc *** 13288,13293 **** --- 13313,13325 ---- if (c->attr.artificial) return true; + /* Do not allow vtype components to be resolved in nameless namespaces + such as block data because the procedure pointers will cause ICEs + and vtables are not needed in these contexts. */ + if (sym->attr.vtype && sym->attr.use_assoc + && sym->ns->proc_name == NULL) + return true; + /* F2008, C442. */ if ((!sym->attr.is_class || c != sym->components) && c->attr.codimension *************** resolve_fl_derived (gfc_symbol *sym) *** 13847,13852 **** --- 13879,13898 ---- if (!resolve_typebound_procedures (sym)) return false; + /* Generate module vtables subject to their accessibility and their not + being vtables or pdt templates. If this is not done class declarations + in external procedures wind up with their own version and so SELECT TYPE + fails because the vptrs do not have the same address. */ + if (gfc_option.allow_std & GFC_STD_F2003 + && sym->ns->proc_name + && sym->ns->proc_name->attr.flavor == FL_MODULE + && sym->attr.access != ACCESS_PRIVATE + && !(sym->attr.use_assoc || sym->attr.vtype)) + { + gfc_symbol *vtab = gfc_find_derived_vtab (sym); + gfc_set_sym_referenced (vtab); + } + return true; } *************** resolve_symbol (gfc_symbol *sym) *** 14231,14237 **** if (as) { ! gcc_assert (as->type != AS_IMPLIED_SHAPE); if (((as->type == AS_ASSUMED_SIZE && !as->cp_was_assumed) || as->type == AS_ASSUMED_SHAPE) && !sym->attr.dummy && !sym->attr.select_type_temporary) --- 14277,14299 ---- if (as) { ! /* If AS_IMPLIED_SHAPE makes it to here, it must be a bad ! specification expression. */ ! if (as->type == AS_IMPLIED_SHAPE) ! { ! int i; ! for (i=0; irank; i++) ! { ! if (as->lower[i] != NULL && as->upper[i] == NULL) ! { ! gfc_error ("Bad specification for assumed size array at %L", ! &as->lower[i]->where); ! return; ! } ! } ! gcc_unreachable(); ! } ! if (((as->type == AS_ASSUMED_SIZE && !as->cp_was_assumed) || as->type == AS_ASSUMED_SHAPE) && !sym->attr.dummy && !sym->attr.select_type_temporary) *************** resolve_symbol (gfc_symbol *sym) *** 14609,14614 **** --- 14671,14677 ---- if (class_attr.codimension && !(class_attr.allocatable || sym->attr.dummy || sym->attr.save || sym->attr.select_type_temporary + || sym->attr.associate_var || (sym->ns->save_all && !sym->attr.automatic) || sym->ns->proc_name->attr.flavor == FL_MODULE || sym->ns->proc_name->attr.is_main_program *************** resolve_symbol (gfc_symbol *sym) *** 14793,14799 **** if ((!a->save && !a->dummy && !a->pointer && !a->in_common && !a->use_assoc ! && !a->result && !a->function) || (a->dummy && a->intent == INTENT_OUT && !a->pointer)) apply_default_init (sym); else if (a->function && sym->result && a->access != ACCESS_PRIVATE --- 14856,14867 ---- if ((!a->save && !a->dummy && !a->pointer && !a->in_common && !a->use_assoc ! && a->referenced ! && !((a->function || a->result) ! && (!a->dimension ! || sym->ts.u.derived->attr.alloc_comp ! || sym->ts.u.derived->attr.pointer_comp)) ! && !(a->function && sym != sym->result)) || (a->dummy && a->intent == INTENT_OUT && !a->pointer)) apply_default_init (sym); else if (a->function && sym->result && a->access != ACCESS_PRIVATE *************** resolve_equivalence (gfc_equiv *eq) *** 15626,15634 **** && sym->ns->proc_name->attr.pure && sym->attr.in_common) { ! gfc_error ("Common block member %qs at %L cannot be an EQUIVALENCE " ! "object in the pure procedure %qs", ! sym->name, &e->where, sym->ns->proc_name->name); break; } --- 15694,15715 ---- && sym->ns->proc_name->attr.pure && sym->attr.in_common) { ! /* Need to check for symbols that may have entered the pure ! procedure via a USE statement. */ ! bool saw_sym = false; ! if (sym->ns->use_stmts) ! { ! gfc_use_rename *r; ! for (r = sym->ns->use_stmts->rename; r; r = r->next) ! if (strcmp(r->use_name, sym->name) == 0) saw_sym = true; ! } ! else ! saw_sym = true; ! ! if (saw_sym) ! gfc_error ("COMMON block member %qs at %L cannot be an " ! "EQUIVALENCE object in the pure procedure %qs", ! sym->name, &e->where, sym->ns->proc_name->name); break; } diff -Nrcpad gcc-7.2.0/gcc/fortran/simplify.c gcc-7.3.0/gcc/fortran/simplify.c *** gcc-7.2.0/gcc/fortran/simplify.c Sun Mar 5 11:35:47 2017 --- gcc-7.3.0/gcc/fortran/simplify.c Sat Jan 20 20:45:50 2018 *************** *** 1,5 **** /* Simplify intrinsic functions at compile-time. ! Copyright (C) 2000-2017 Free Software Foundation, Inc. Contributed by Andy Vaught & Katherine Holcomb This file is part of GCC. --- 1,5 ---- /* Simplify intrinsic functions at compile-time. ! Copyright (C) 2000-2018 Free Software Foundation, Inc. Contributed by Andy Vaught & Katherine Holcomb This file is part of GCC. *************** gfc_simplify_cshift (gfc_expr *array, gf *** 1990,2000 **** sz = mpz_get_si (size); mpz_clear (size); /* Adjust shft to deal with right or left shifts. */ ! shft = shft < 0 ? 1 - shft : shft; /* Special case: Shift to the original order! */ ! if (sz == 0 || shft % sz == 0) return a; result = gfc_copy_expr (a); --- 1990,2006 ---- sz = mpz_get_si (size); mpz_clear (size); + /* Special case: Zero-sized array. */ + if (sz == 0) + return a; + /* Adjust shft to deal with right or left shifts. */ ! shft = shft % sz; ! if (shft < 0) ! shft += sz; /* Special case: Shift to the original order! */ ! if (shft % sz == 0) return a; result = gfc_copy_expr (a); *************** gfc_simplify_matmul (gfc_expr *matrix_a, *** 4196,4205 **** || !is_constant_array_expr (matrix_b)) return NULL; ! gcc_assert (gfc_compare_types (&matrix_a->ts, &matrix_b->ts)); ! result = gfc_get_array_expr (matrix_a->ts.type, ! matrix_a->ts.kind, ! &matrix_a->where); if (matrix_a->rank == 1 && matrix_b->rank == 2) { --- 4202,4224 ---- || !is_constant_array_expr (matrix_b)) return NULL; ! /* MATMUL should do mixed-mode arithmetic. Set the result type. */ ! if (matrix_a->ts.type != matrix_b->ts.type) ! { ! gfc_expr e; ! e.expr_type = EXPR_OP; ! gfc_clear_ts (&e.ts); ! e.value.op.op = INTRINSIC_NONE; ! e.value.op.op1 = matrix_a; ! e.value.op.op2 = matrix_b; ! gfc_type_convert_binary (&e, 1); ! result = gfc_get_array_expr (e.ts.type, e.ts.kind, &matrix_a->where); ! } ! else ! { ! result = gfc_get_array_expr (matrix_a->ts.type, matrix_a->ts.kind, ! &matrix_a->where); ! } if (matrix_a->rank == 1 && matrix_b->rank == 2) { *************** gfc_simplify_transfer (gfc_expr *source, *** 6571,6578 **** return NULL; /* Calculate the size of the source. */ ! if (source->expr_type == EXPR_ARRAY ! && !gfc_array_size (source, &tmp)) gfc_internal_error ("Failure getting length of a constant array."); /* Create an empty new expression with the appropriate characteristics. */ --- 6590,6596 ---- return NULL; /* Calculate the size of the source. */ ! if (source->expr_type == EXPR_ARRAY && !gfc_array_size (source, &tmp)) gfc_internal_error ("Failure getting length of a constant array."); /* Create an empty new expression with the appropriate characteristics. */ *************** gfc_simplify_transfer (gfc_expr *source, *** 6580,6586 **** &source->where); result->ts = mold->ts; ! mold_element = mold->expr_type == EXPR_ARRAY ? gfc_constructor_first (mold->value.constructor)->expr : mold; --- 6598,6604 ---- &source->where); result->ts = mold->ts; ! mold_element = (mold->expr_type == EXPR_ARRAY && mold->value.constructor) ? gfc_constructor_first (mold->value.constructor)->expr : mold; diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-array.c gcc-7.3.0/gcc/fortran/trans-array.c *** gcc-7.2.0/gcc/fortran/trans-array.c Sun Feb 19 18:18:33 2017 --- gcc-7.3.0/gcc/fortran/trans-array.c Mon Nov 13 20:01:20 2017 *************** gfc_trans_allocate_array_storage (stmtbl *** 895,901 **** gfc_add_expr_to_block (&do_copying, tmp); was_packed = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, packed, source_data); tmp = gfc_finish_block (&do_copying); tmp = build3_v (COND_EXPR, was_packed, tmp, --- 895,901 ---- gfc_add_expr_to_block (&do_copying, tmp); was_packed = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, packed, source_data); tmp = gfc_finish_block (&do_copying); tmp = build3_v (COND_EXPR, was_packed, tmp, *************** gfc_trans_create_temp_array (stmtblock_t *** 1163,1169 **** to[n], gfc_index_one_node); /* Check whether the size for this dimension is negative. */ ! cond = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, tmp, gfc_index_zero_node); cond = gfc_evaluate_now (cond, pre); --- 1163,1169 ---- to[n], gfc_index_one_node); /* Check whether the size for this dimension is negative. */ ! cond = fold_build2_loc (input_location, LE_EXPR, logical_type_node, tmp, gfc_index_zero_node); cond = gfc_evaluate_now (cond, pre); *************** gfc_trans_create_temp_array (stmtblock_t *** 1171,1177 **** or_expr = cond; else or_expr = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, or_expr, cond); size = fold_build2_loc (input_location, MULT_EXPR, gfc_array_index_type, size, tmp); --- 1171,1177 ---- or_expr = cond; else or_expr = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, or_expr, cond); size = fold_build2_loc (input_location, MULT_EXPR, gfc_array_index_type, size, tmp); *************** gfc_trans_array_ctor_element (stmtblock_ *** 1431,1437 **** /* Verify that all constructor elements are of the same length. */ tree cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, first_len_val, se->string_length); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, --- 1431,1437 ---- /* Verify that all constructor elements are of the same length. */ tree cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, first_len_val, se->string_length); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, *************** gfc_trans_array_ctor_element (stmtblock_ *** 1441,1446 **** --- 1441,1457 ---- } } } + else if (GFC_CLASS_TYPE_P (TREE_TYPE (se->expr)) + && !GFC_CLASS_TYPE_P (gfc_get_element_type (TREE_TYPE (desc)))) + { + /* Assignment of a CLASS array constructor to a derived type array. */ + if (expr->expr_type == EXPR_FUNCTION) + se->expr = gfc_evaluate_now (se->expr, pblock); + se->expr = gfc_class_data_get (se->expr); + se->expr = build_fold_indirect_ref_loc (input_location, se->expr); + se->expr = fold_convert (TREE_TYPE (tmp), se->expr); + gfc_add_modify (&se->pre, tmp, se->expr); + } else { /* TODO: Should the frontend already have done this conversion? */ *************** gfc_trans_array_constructor_value (stmtb *** 1762,1775 **** /* Generate the exit condition. Depending on the sign of the step variable we have to generate the correct comparison. */ ! tmp = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, step, build_int_cst (TREE_TYPE (step), 0)); cond = fold_build3_loc (input_location, COND_EXPR, ! boolean_type_node, tmp, fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, shadow_loopvar, end), fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, shadow_loopvar, end)); tmp = build1_v (GOTO_EXPR, exit_label); TREE_USED (exit_label) = 1; tmp = build3_v (COND_EXPR, cond, tmp, --- 1773,1786 ---- /* Generate the exit condition. Depending on the sign of the step variable we have to generate the correct comparison. */ ! tmp = fold_build2_loc (input_location, GT_EXPR, logical_type_node, step, build_int_cst (TREE_TYPE (step), 0)); cond = fold_build3_loc (input_location, COND_EXPR, ! logical_type_node, tmp, fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, shadow_loopvar, end), fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, shadow_loopvar, end)); tmp = build1_v (GOTO_EXPR, exit_label); TREE_USED (exit_label) = 1; tmp = build3_v (COND_EXPR, cond, tmp, *************** trans_array_constructor (gfc_ss * ss, lo *** 2277,2283 **** /* Check if the character length is negative. If it is, then set LEN = 0. */ neg_len = fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, ss_info->string_length, build_int_cst (gfc_charlen_type_node, 0)); /* Print a warning if bounds checking is enabled. */ if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) --- 2288,2294 ---- /* Check if the character length is negative. If it is, then set LEN = 0. */ neg_len = fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, ss_info->string_length, build_int_cst (gfc_charlen_type_node, 0)); /* Print a warning if bounds checking is enabled. */ if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) *************** trans_array_bound_check (gfc_se * se, gf *** 2915,2927 **** msg = xasprintf ("Index '%%ld' of dimension %d " "outside of expected range (%%ld:%%ld)", n+1); ! fault = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, index, tmp_lo); gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg, fold_convert (long_integer_type_node, index), fold_convert (long_integer_type_node, tmp_lo), fold_convert (long_integer_type_node, tmp_up)); ! fault = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, index, tmp_up); gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg, fold_convert (long_integer_type_node, index), --- 2926,2938 ---- msg = xasprintf ("Index '%%ld' of dimension %d " "outside of expected range (%%ld:%%ld)", n+1); ! fault = fold_build2_loc (input_location, LT_EXPR, logical_type_node, index, tmp_lo); gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg, fold_convert (long_integer_type_node, index), fold_convert (long_integer_type_node, tmp_lo), fold_convert (long_integer_type_node, tmp_up)); ! fault = fold_build2_loc (input_location, GT_EXPR, logical_type_node, index, tmp_up); gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg, fold_convert (long_integer_type_node, index), *************** trans_array_bound_check (gfc_se * se, gf *** 2940,2946 **** msg = xasprintf ("Index '%%ld' of dimension %d " "below lower bound of %%ld", n+1); ! fault = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, index, tmp_lo); gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg, fold_convert (long_integer_type_node, index), --- 2951,2957 ---- msg = xasprintf ("Index '%%ld' of dimension %d " "below lower bound of %%ld", n+1); ! fault = fold_build2_loc (input_location, LT_EXPR, logical_type_node, index, tmp_lo); gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg, fold_convert (long_integer_type_node, index), *************** gfc_conv_array_ref (gfc_se * se, gfc_arr *** 3445,3451 **** tmp = tmpse.expr; } ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, indexse.expr, tmp); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "below lower bound of %%ld", n+1, var_name); --- 3456,3462 ---- tmp = tmpse.expr; } ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, indexse.expr, tmp); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "below lower bound of %%ld", n+1, var_name); *************** gfc_conv_array_ref (gfc_se * se, gfc_arr *** 3470,3476 **** } cond = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, indexse.expr, tmp); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "above upper bound of %%ld", n+1, var_name); gfc_trans_runtime_check (true, false, cond, &se->pre, where, msg, --- 3481,3487 ---- } cond = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, indexse.expr, tmp); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "above upper bound of %%ld", n+1, var_name); gfc_trans_runtime_check (true, false, cond, &se->pre, where, msg, *************** gfc_trans_scalarized_loop_end (gfc_loopi *** 3715,3721 **** OMP_FOR_INIT (stmt) = init; /* The exit condition. */ TREE_VEC_ELT (cond, 0) = build2_loc (input_location, LE_EXPR, ! boolean_type_node, loop->loopvar[n], loop->to[n]); SET_EXPR_LOCATION (TREE_VEC_ELT (cond, 0), input_location); OMP_FOR_COND (stmt) = cond; --- 3726,3732 ---- OMP_FOR_INIT (stmt) = init; /* The exit condition. */ TREE_VEC_ELT (cond, 0) = build2_loc (input_location, LE_EXPR, ! logical_type_node, loop->loopvar[n], loop->to[n]); SET_EXPR_LOCATION (TREE_VEC_ELT (cond, 0), input_location); OMP_FOR_COND (stmt) = cond; *************** gfc_trans_scalarized_loop_end (gfc_loopi *** 3750,3756 **** /* The exit condition. */ cond = fold_build2_loc (input_location, reverse_loop ? LT_EXPR : GT_EXPR, ! boolean_type_node, loop->loopvar[n], loop->to[n]); tmp = build1_v (GOTO_EXPR, exit_label); TREE_USED (exit_label) = 1; tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); --- 3761,3767 ---- /* The exit condition. */ cond = fold_build2_loc (input_location, reverse_loop ? LT_EXPR : GT_EXPR, ! logical_type_node, loop->loopvar[n], loop->to[n]); tmp = build1_v (GOTO_EXPR, exit_label); TREE_USED (exit_label) = 1; tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); *************** done: *** 4182,4188 **** check_upper = true; /* Zero stride is not allowed. */ ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, info->stride[dim], gfc_index_zero_node); msg = xasprintf ("Zero stride is not allowed, for dimension %d " "of array '%s'", dim + 1, expr_name); --- 4193,4199 ---- check_upper = true; /* Zero stride is not allowed. */ ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, info->stride[dim], gfc_index_zero_node); msg = xasprintf ("Zero stride is not allowed, for dimension %d " "of array '%s'", dim + 1, expr_name); *************** done: *** 4205,4227 **** /* non_zerosized is true when the selected range is not empty. */ stride_pos = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, info->stride[dim], gfc_index_zero_node); ! tmp = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, info->start[dim], end); stride_pos = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, stride_pos, tmp); stride_neg = fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, info->stride[dim], gfc_index_zero_node); ! tmp = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, info->start[dim], end); stride_neg = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, stride_neg, tmp); non_zerosized = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, stride_pos, stride_neg); /* Check the start of the range against the lower and upper --- 4216,4238 ---- /* non_zerosized is true when the selected range is not empty. */ stride_pos = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, info->stride[dim], gfc_index_zero_node); ! tmp = fold_build2_loc (input_location, LE_EXPR, logical_type_node, info->start[dim], end); stride_pos = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, stride_pos, tmp); stride_neg = fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, info->stride[dim], gfc_index_zero_node); ! tmp = fold_build2_loc (input_location, GE_EXPR, logical_type_node, info->start[dim], end); stride_neg = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, stride_neg, tmp); non_zerosized = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, stride_pos, stride_neg); /* Check the start of the range against the lower and upper *************** done: *** 4231,4246 **** if (check_upper) { tmp = fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, info->start[dim], lbound); tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, non_zerosized, tmp); tmp2 = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, info->start[dim], ubound); tmp2 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, non_zerosized, tmp2); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "outside of expected range (%%ld:%%ld)", --- 4242,4257 ---- if (check_upper) { tmp = fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, info->start[dim], lbound); tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, non_zerosized, tmp); tmp2 = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, info->start[dim], ubound); tmp2 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, non_zerosized, tmp2); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "outside of expected range (%%ld:%%ld)", *************** done: *** 4260,4269 **** else { tmp = fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, info->start[dim], lbound); tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, non_zerosized, tmp); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "below lower bound of %%ld", dim + 1, expr_name); --- 4271,4280 ---- else { tmp = fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, info->start[dim], lbound); tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, non_zerosized, tmp); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "below lower bound of %%ld", dim + 1, expr_name); *************** done: *** 4287,4301 **** tmp = fold_build2_loc (input_location, MINUS_EXPR, gfc_array_index_type, end, tmp); tmp2 = fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, tmp, lbound); tmp2 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, non_zerosized, tmp2); if (check_upper) { tmp3 = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, tmp, ubound); tmp3 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, non_zerosized, tmp3); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "outside of expected range (%%ld:%%ld)", dim + 1, expr_name); --- 4298,4312 ---- tmp = fold_build2_loc (input_location, MINUS_EXPR, gfc_array_index_type, end, tmp); tmp2 = fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, tmp, lbound); tmp2 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, non_zerosized, tmp2); if (check_upper) { tmp3 = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, tmp, ubound); tmp3 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, non_zerosized, tmp3); msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' " "outside of expected range (%%ld:%%ld)", dim + 1, expr_name); *************** done: *** 4341,4347 **** if (size[n]) { tmp3 = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tmp, size[n]); msg = xasprintf ("Array bound mismatch for dimension %d " "of array '%s' (%%ld/%%ld)", dim + 1, expr_name); --- 4352,4358 ---- if (size[n]) { tmp3 = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tmp, size[n]); msg = xasprintf ("Array bound mismatch for dimension %d " "of array '%s' (%%ld/%%ld)", dim + 1, expr_name); *************** gfc_conv_array_extent_dim (tree lbound, *** 5025,5031 **** gfc_index_one_node); /* Check whether the size for this dimension is negative. */ ! cond = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, res, gfc_index_zero_node); res = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, gfc_index_zero_node, res); --- 5036,5042 ---- gfc_index_one_node); /* Check whether the size for this dimension is negative. */ ! cond = fold_build2_loc (input_location, LE_EXPR, logical_type_node, res, gfc_index_zero_node); res = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, gfc_index_zero_node, res); *************** gfc_conv_array_extent_dim (tree lbound, *** 5033,5039 **** /* Build OR expression. */ if (or_expr) *or_expr = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, *or_expr, cond); return res; } --- 5044,5050 ---- /* Build OR expression. */ if (or_expr) *or_expr = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, *or_expr, cond); return res; } *************** gfc_array_init_size (tree descriptor, in *** 5162,5168 **** gfc_add_modify (pblock, tmp, gfc_get_dtype (type)); } ! or_expr = boolean_false_node; for (n = 0; n < rank; n++) { --- 5173,5179 ---- gfc_add_modify (pblock, tmp, gfc_get_dtype (type)); } ! or_expr = logical_false_node; for (n = 0; n < rank; n++) { *************** gfc_array_init_size (tree descriptor, in *** 5270,5281 **** TYPE_MAX_VALUE (gfc_array_index_type)), size); cond = gfc_unlikely (fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, tmp, stride), PRED_FORTRAN_OVERFLOW); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, integer_one_node, integer_zero_node); cond = gfc_unlikely (fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, size, gfc_index_zero_node), PRED_FORTRAN_SIZE_ZERO); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, --- 5281,5292 ---- TYPE_MAX_VALUE (gfc_array_index_type)), size); cond = gfc_unlikely (fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, tmp, stride), PRED_FORTRAN_OVERFLOW); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, integer_one_node, integer_zero_node); cond = gfc_unlikely (fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, size, gfc_index_zero_node), PRED_FORTRAN_SIZE_ZERO); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, *************** gfc_array_init_size (tree descriptor, in *** 5371,5382 **** size_type_node, TYPE_MAX_VALUE (size_type_node), element_size); cond = gfc_unlikely (fold_build2_loc (input_location, LT_EXPR, ! boolean_type_node, tmp, stride), PRED_FORTRAN_OVERFLOW); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, integer_one_node, integer_zero_node); cond = gfc_unlikely (fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, element_size, build_int_cst (size_type_node, 0)), PRED_FORTRAN_SIZE_ZERO); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, --- 5382,5393 ---- size_type_node, TYPE_MAX_VALUE (size_type_node), element_size); cond = gfc_unlikely (fold_build2_loc (input_location, LT_EXPR, ! logical_type_node, tmp, stride), PRED_FORTRAN_OVERFLOW); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, integer_one_node, integer_zero_node); cond = gfc_unlikely (fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, element_size, build_int_cst (size_type_node, 0)), PRED_FORTRAN_SIZE_ZERO); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, *************** gfc_array_allocate (gfc_se * se, gfc_exp *** 5634,5640 **** if (dimension) { cond = gfc_unlikely (fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, var_overflow, integer_zero_node), PRED_FORTRAN_OVERFLOW); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, error, gfc_finish_block (&elseblock)); --- 5645,5651 ---- if (dimension) { cond = gfc_unlikely (fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, var_overflow, integer_zero_node), PRED_FORTRAN_OVERFLOW); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, error, gfc_finish_block (&elseblock)); *************** gfc_array_allocate (gfc_se * se, gfc_exp *** 5652,5658 **** if (status != NULL_TREE) { cond = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, status, build_int_cst (TREE_TYPE (status), 0)); gfc_add_expr_to_block (&se->pre, fold_build3_loc (input_location, COND_EXPR, void_type_node, --- 5663,5669 ---- if (status != NULL_TREE) { cond = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, status, build_int_cst (TREE_TYPE (status), 0)); gfc_add_expr_to_block (&se->pre, fold_build3_loc (input_location, COND_EXPR, void_type_node, *************** gfc_trans_array_bounds (tree type, gfc_s *** 5902,5908 **** /* Make sure that negative size arrays are translated to being zero size. */ ! tmp = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, stride, gfc_index_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, tmp, --- 5913,5919 ---- /* Make sure that negative size arrays are translated to being zero size. */ ! tmp = fold_build2_loc (input_location, GE_EXPR, logical_type_node, stride, gfc_index_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, tmp, *************** gfc_trans_dummy_array_bias (gfc_symbol * *** 6189,6198 **** /* For non-constant shape arrays we only check if the first dimension is contiguous. Repacking higher dimensions wouldn't gain us anything as we still don't know the array stride. */ ! partial = gfc_create_var (boolean_type_node, "partial"); TREE_USED (partial) = 1; tmp = gfc_conv_descriptor_stride_get (dumdesc, gfc_rank_cst[0]); ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, tmp, gfc_index_one_node); gfc_add_modify (&init, partial, tmp); } --- 6200,6209 ---- /* For non-constant shape arrays we only check if the first dimension is contiguous. Repacking higher dimensions wouldn't gain us anything as we still don't know the array stride. */ ! partial = gfc_create_var (logical_type_node, "partial"); TREE_USED (partial) = 1; tmp = gfc_conv_descriptor_stride_get (dumdesc, gfc_rank_cst[0]); ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, tmp, gfc_index_one_node); gfc_add_modify (&init, partial, tmp); } *************** gfc_trans_dummy_array_bias (gfc_symbol * *** 6207,6213 **** stride = gfc_conv_descriptor_stride_get (dumdesc, gfc_rank_cst[0]); stride = gfc_evaluate_now (stride, &init); ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, stride, gfc_index_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, tmp, gfc_index_one_node, stride); --- 6218,6224 ---- stride = gfc_conv_descriptor_stride_get (dumdesc, gfc_rank_cst[0]); stride = gfc_evaluate_now (stride, &init); ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, stride, gfc_index_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, tmp, gfc_index_one_node, stride); *************** gfc_trans_dummy_array_bias (gfc_symbol * *** 6448,6454 **** else tmp = build_fold_indirect_ref_loc (input_location, dumdesc); tmp = gfc_conv_descriptor_data_get (tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, tmpdesc); stmtCleanup = build3_v (COND_EXPR, tmp, stmtCleanup, build_empty_stmt (input_location)); --- 6459,6465 ---- else tmp = build_fold_indirect_ref_loc (input_location, dumdesc); tmp = gfc_conv_descriptor_data_get (tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, tmpdesc); stmtCleanup = build3_v (COND_EXPR, tmp, stmtCleanup, build_empty_stmt (input_location)); *************** gfc_conv_array_parameter (gfc_se * se, g *** 7712,7723 **** tmp = build_fold_indirect_ref_loc (input_location, desc); tmp = gfc_conv_array_data (tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, fold_convert (TREE_TYPE (tmp), ptr), tmp); if (fsym && fsym->attr.optional && sym && sym->attr.optional) tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, gfc_conv_expr_present (sym), tmp); gfc_trans_runtime_check (false, true, tmp, &se->pre, --- 7723,7734 ---- tmp = build_fold_indirect_ref_loc (input_location, desc); tmp = gfc_conv_array_data (tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, fold_convert (TREE_TYPE (tmp), ptr), tmp); if (fsym && fsym->attr.optional && sym && sym->attr.optional) tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, gfc_conv_expr_present (sym), tmp); gfc_trans_runtime_check (false, true, tmp, &se->pre, *************** gfc_conv_array_parameter (gfc_se * se, g *** 7747,7758 **** tmp = build_fold_indirect_ref_loc (input_location, desc); tmp = gfc_conv_array_data (tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, fold_convert (TREE_TYPE (tmp), ptr), tmp); if (fsym && fsym->attr.optional && sym && sym->attr.optional) tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, gfc_conv_expr_present (sym), tmp); tmp = build3_v (COND_EXPR, tmp, stmt, build_empty_stmt (input_location)); --- 7758,7769 ---- tmp = build_fold_indirect_ref_loc (input_location, desc); tmp = gfc_conv_array_data (tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, fold_convert (TREE_TYPE (tmp), ptr), tmp); if (fsym && fsym->attr.optional && sym && sym->attr.optional) tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, gfc_conv_expr_present (sym), tmp); tmp = build3_v (COND_EXPR, tmp, stmt, build_empty_stmt (input_location)); *************** duplicate_allocatable (tree dest, tree s *** 7891,7897 **** null_cond = gfc_conv_descriptor_data_get (src); null_cond = convert (pvoid_type_node, null_cond); ! null_cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, null_cond, null_pointer_node); return build3_v (COND_EXPR, null_cond, tmp, null_data); } --- 7902,7908 ---- null_cond = gfc_conv_descriptor_data_get (src); null_cond = convert (pvoid_type_node, null_cond); ! null_cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, null_cond, null_pointer_node); return build3_v (COND_EXPR, null_cond, tmp, null_data); } *************** duplicate_allocatable_coarray (tree dest *** 8025,8031 **** null_cond = gfc_conv_descriptor_data_get (src); null_cond = convert (pvoid_type_node, null_cond); ! null_cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, null_cond, null_pointer_node); gfc_add_expr_to_block (&globalblock, build3_v (COND_EXPR, null_cond, tmp, null_data)); --- 8036,8042 ---- null_cond = gfc_conv_descriptor_data_get (src); null_cond = convert (pvoid_type_node, null_cond); ! null_cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, null_cond, null_pointer_node); gfc_add_expr_to_block (&globalblock, build3_v (COND_EXPR, null_cond, tmp, null_data)); *************** structure_alloc_comps (gfc_symbol * der_ *** 8137,8143 **** null_cond = gfc_conv_descriptor_data_get (decl); null_cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, null_cond, build_int_cst (TREE_TYPE (null_cond), 0)); } else --- 8148,8154 ---- null_cond = gfc_conv_descriptor_data_get (decl); null_cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, null_cond, build_int_cst (TREE_TYPE (null_cond), 0)); } else *************** structure_alloc_comps (gfc_symbol * der_ *** 8375,8381 **** dealloc_fndecl); tmp = build_int_cst (TREE_TYPE (comp), 0); is_allocated = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tmp, comp); cdesc = gfc_build_addr_expr (NULL_TREE, cdesc); --- 8386,8392 ---- dealloc_fndecl); tmp = build_int_cst (TREE_TYPE (comp), 0); is_allocated = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tmp, comp); cdesc = gfc_build_addr_expr (NULL_TREE, cdesc); *************** structure_alloc_comps (gfc_symbol * der_ *** 8655,8661 **** null_data = gfc_finish_block (&tmpblock); null_cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, src_data, null_pointer_node); gfc_add_expr_to_block (&fnblock, build3_v (COND_EXPR, null_cond, --- 8666,8672 ---- null_data = gfc_finish_block (&tmpblock); null_cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, src_data, null_pointer_node); gfc_add_expr_to_block (&fnblock, build3_v (COND_EXPR, null_cond, *************** get_std_lbound (gfc_expr *expr, tree des *** 8830,8854 **** lbound = gfc_conv_descriptor_lbound_get (desc, tmp); ubound = gfc_conv_descriptor_ubound_get (desc, tmp); stride = gfc_conv_descriptor_stride_get (desc, tmp); ! cond1 = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, ubound, lbound); ! cond3 = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, stride, gfc_index_zero_node); cond3 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, cond3, cond1); ! cond4 = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, stride, gfc_index_zero_node); if (assumed_size) ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, tmp, build_int_cst (gfc_array_index_type, expr->rank - 1)); else ! cond = boolean_false_node; cond1 = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond3, cond4); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond, cond1); return fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, --- 8841,8865 ---- lbound = gfc_conv_descriptor_lbound_get (desc, tmp); ubound = gfc_conv_descriptor_ubound_get (desc, tmp); stride = gfc_conv_descriptor_stride_get (desc, tmp); ! cond1 = fold_build2_loc (input_location, GE_EXPR, logical_type_node, ubound, lbound); ! cond3 = fold_build2_loc (input_location, GE_EXPR, logical_type_node, stride, gfc_index_zero_node); cond3 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, cond3, cond1); ! cond4 = fold_build2_loc (input_location, LT_EXPR, logical_type_node, stride, gfc_index_zero_node); if (assumed_size) ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, tmp, build_int_cst (gfc_array_index_type, expr->rank - 1)); else ! cond = logical_false_node; cond1 = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond3, cond4); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond, cond1); return fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, *************** gfc_alloc_allocatable_for_assignment (gf *** 9101,9111 **** jump_label2 = gfc_build_label_decl (NULL_TREE); /* Allocate if data is NULL. */ ! cond_null = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, array1, build_int_cst (TREE_TYPE (array1), 0)); if (expr1->ts.deferred) ! cond_null = gfc_evaluate_now (boolean_true_node, &fblock); else cond_null= gfc_evaluate_now (cond_null, &fblock); --- 9112,9122 ---- jump_label2 = gfc_build_label_decl (NULL_TREE); /* Allocate if data is NULL. */ ! cond_null = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, array1, build_int_cst (TREE_TYPE (array1), 0)); if (expr1->ts.deferred) ! cond_null = gfc_evaluate_now (logical_true_node, &fblock); else cond_null= gfc_evaluate_now (cond_null, &fblock); *************** gfc_alloc_allocatable_for_assignment (gf *** 9145,9151 **** gfc_array_index_type, tmp, ubound); cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tmp, gfc_index_zero_node); tmp = build3_v (COND_EXPR, cond, build1_v (GOTO_EXPR, jump_label1), --- 9156,9162 ---- gfc_array_index_type, tmp, ubound); cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tmp, gfc_index_zero_node); tmp = build3_v (COND_EXPR, cond, build1_v (GOTO_EXPR, jump_label1), *************** gfc_alloc_allocatable_for_assignment (gf *** 9195,9207 **** } size2 = gfc_evaluate_now (size2, &fblock); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, size1, size2); /* If the lhs is deferred length, assume that the element size changes and force a reallocation. */ if (expr1->ts.deferred) ! neq_size = gfc_evaluate_now (boolean_true_node, &fblock); else neq_size = gfc_evaluate_now (cond, &fblock); --- 9206,9218 ---- } size2 = gfc_evaluate_now (size2, &fblock); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, size1, size2); /* If the lhs is deferred length, assume that the element size changes and force a reallocation. */ if (expr1->ts.deferred) ! neq_size = gfc_evaluate_now (logical_true_node, &fblock); else neq_size = gfc_evaluate_now (cond, &fblock); *************** gfc_alloc_allocatable_for_assignment (gf *** 9481,9487 **** /* Malloc if not allocated; realloc otherwise. */ tmp = build_int_cst (TREE_TYPE (array1), 0); cond = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, array1, tmp); tmp = build3_v (COND_EXPR, cond, alloc_expr, realloc_expr); gfc_add_expr_to_block (&fblock, tmp); --- 9492,9498 ---- /* Malloc if not allocated; realloc otherwise. */ tmp = build_int_cst (TREE_TYPE (array1), 0); cond = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, array1, tmp); tmp = build3_v (COND_EXPR, cond, alloc_expr, realloc_expr); gfc_add_expr_to_block (&fblock, tmp); diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-decl.c gcc-7.3.0/gcc/fortran/trans-decl.c *** gcc-7.2.0/gcc/fortran/trans-decl.c Thu Mar 16 16:50:27 2017 --- gcc-7.3.0/gcc/fortran/trans-decl.c Mon Nov 13 20:01:20 2017 *************** gfc_trans_deferred_vars (gfc_symbol * pr *** 4499,4505 **** && sym->ts.u.cl->passed_length) tmp = gfc_null_and_pass_deferred_len (sym, &init, &loc); else ! gfc_restore_backend_locus (&loc); /* Deallocate when leaving the scope. Nullifying is not needed. */ --- 4499,4508 ---- && sym->ts.u.cl->passed_length) tmp = gfc_null_and_pass_deferred_len (sym, &init, &loc); else ! { ! gfc_restore_backend_locus (&loc); ! tmp = NULL_TREE; ! } /* Deallocate when leaving the scope. Nullifying is not needed. */ *************** add_argument_checking (stmtblock_t *bloc *** 5695,5701 **** /* Build the condition. For optional arguments, an actual length of 0 is also acceptable if the associated string is NULL, which means the argument was not passed. */ ! cond = fold_build2_loc (input_location, comparison, boolean_type_node, cl->passed_length, cl->backend_decl); if (fsym->attr.optional) { --- 5698,5704 ---- /* Build the condition. For optional arguments, an actual length of 0 is also acceptable if the associated string is NULL, which means the argument was not passed. */ ! cond = fold_build2_loc (input_location, comparison, logical_type_node, cl->passed_length, cl->backend_decl); if (fsym->attr.optional) { *************** add_argument_checking (stmtblock_t *bloc *** 5704,5710 **** tree absent_failed; not_0length = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, cl->passed_length, build_zero_cst (gfc_charlen_type_node)); /* The symbol needs to be referenced for gfc_get_symbol_decl. */ --- 5707,5713 ---- tree absent_failed; not_0length = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, cl->passed_length, build_zero_cst (gfc_charlen_type_node)); /* The symbol needs to be referenced for gfc_get_symbol_decl. */ *************** add_argument_checking (stmtblock_t *bloc *** 5712,5722 **** not_absent = gfc_conv_expr_present (fsym); absent_failed = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, not_0length, not_absent); cond = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, cond, absent_failed); } /* Build the runtime check. */ --- 5715,5725 ---- not_absent = gfc_conv_expr_present (fsym); absent_failed = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, not_0length, not_absent); cond = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, cond, absent_failed); } /* Build the runtime check. */ *************** gfc_generate_function_code (gfc_namespac *** 6287,6299 **** msg = xasprintf ("Recursive call to nonrecursive procedure '%s'", sym->name); ! recurcheckvar = gfc_create_var (boolean_type_node, "is_recursive"); TREE_STATIC (recurcheckvar) = 1; ! DECL_INITIAL (recurcheckvar) = boolean_false_node; gfc_add_expr_to_block (&init, recurcheckvar); gfc_trans_runtime_check (true, false, recurcheckvar, &init, &sym->declared_at, msg); ! gfc_add_modify (&init, recurcheckvar, boolean_true_node); free (msg); } --- 6290,6302 ---- msg = xasprintf ("Recursive call to nonrecursive procedure '%s'", sym->name); ! recurcheckvar = gfc_create_var (logical_type_node, "is_recursive"); TREE_STATIC (recurcheckvar) = 1; ! DECL_INITIAL (recurcheckvar) = logical_false_node; gfc_add_expr_to_block (&init, recurcheckvar); gfc_trans_runtime_check (true, false, recurcheckvar, &init, &sym->declared_at, msg); ! gfc_add_modify (&init, recurcheckvar, logical_true_node); free (msg); } *************** gfc_generate_function_code (gfc_namespac *** 6422,6428 **** if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION) && !is_recursive && !flag_openmp && recurcheckvar != NULL_TREE) { ! gfc_add_modify (&cleanup, recurcheckvar, boolean_false_node); recurcheckvar = NULL; } --- 6425,6431 ---- if ((gfc_option.rtcheck & GFC_RTCHECK_RECURSION) && !is_recursive && !flag_openmp && recurcheckvar != NULL_TREE) { ! gfc_add_modify (&cleanup, recurcheckvar, logical_false_node); recurcheckvar = NULL; } diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-expr.c gcc-7.3.0/gcc/fortran/trans-expr.c *** gcc-7.2.0/gcc/fortran/trans-expr.c Fri Jun 9 17:45:53 2017 --- gcc-7.3.0/gcc/fortran/trans-expr.c Thu Nov 23 21:02:48 2017 *************** gfc_copy_class_to_class (tree from, tree *** 1287,1293 **** from_len = gfc_conv_descriptor_size (from_data, 1); tmp = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, from_len, orig_nelems); msg = xasprintf ("Array bound mismatch for dimension %d " "of array '%s' (%%ld/%%ld)", 1, name); --- 1287,1293 ---- from_len = gfc_conv_descriptor_size (from_data, 1); tmp = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, from_len, orig_nelems); msg = xasprintf ("Array bound mismatch for dimension %d " "of array '%s' (%%ld/%%ld)", 1, name); *************** gfc_copy_class_to_class (tree from, tree *** 1338,1344 **** extcopy = gfc_finish_block (&ifbody); tmp = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, from_len, integer_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, extcopy, stdcopy); --- 1338,1344 ---- extcopy = gfc_finish_block (&ifbody); tmp = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, from_len, integer_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, extcopy, stdcopy); *************** gfc_copy_class_to_class (tree from, tree *** 1366,1372 **** vec_safe_push (args, to_len); extcopy = build_call_vec (fcn_type, fcn, args); tmp = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, from_len, integer_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, extcopy, stdcopy); --- 1366,1372 ---- vec_safe_push (args, to_len); extcopy = build_call_vec (fcn_type, fcn, args); tmp = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, from_len, integer_zero_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, extcopy, stdcopy); *************** gfc_copy_class_to_class (tree from, tree *** 1380,1386 **** { tree cond; cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, from_data, null_pointer_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, --- 1380,1386 ---- { tree cond; cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, from_data, null_pointer_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, *************** gfc_trans_class_array_init_assign (gfc_e *** 1425,1431 **** gfc_init_se (&src, NULL); gfc_conv_expr (&src, rhs); src.expr = gfc_build_addr_expr (NULL_TREE, src.expr); ! tree cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, src.expr, fold_convert (TREE_TYPE (src.expr), null_pointer_node)); res = build3_loc (input_location, COND_EXPR, TREE_TYPE (res), cond, res, --- 1425,1431 ---- gfc_init_se (&src, NULL); gfc_conv_expr (&src, rhs); src.expr = gfc_build_addr_expr (NULL_TREE, src.expr); ! tree cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, src.expr, fold_convert (TREE_TYPE (src.expr), null_pointer_node)); res = build3_loc (input_location, COND_EXPR, TREE_TYPE (res), cond, res, *************** gfc_trans_class_init_assign (gfc_code *c *** 1492,1498 **** { /* Check if _def_init is non-NULL. */ tree cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, src.expr, fold_convert (TREE_TYPE (src.expr), null_pointer_node)); tmp = build3_loc (input_location, COND_EXPR, TREE_TYPE (tmp), cond, --- 1492,1498 ---- { /* Check if _def_init is non-NULL. */ tree cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, src.expr, fold_convert (TREE_TYPE (src.expr), null_pointer_node)); tmp = build3_loc (input_location, COND_EXPR, TREE_TYPE (tmp), cond, *************** gfc_conv_expr_present (gfc_symbol * sym) *** 1662,1668 **** decl = GFC_DECL_SAVED_DESCRIPTOR (decl); } ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, decl, fold_convert (TREE_TYPE (decl), null_pointer_node)); /* Fortran 2008 allows to pass null pointers and non-associated pointers --- 1662,1668 ---- decl = GFC_DECL_SAVED_DESCRIPTOR (decl); } ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, decl, fold_convert (TREE_TYPE (decl), null_pointer_node)); /* Fortran 2008 allows to pass null pointers and non-associated pointers *************** gfc_conv_expr_present (gfc_symbol * sym) *** 1699,1708 **** if (tmp != NULL_TREE) { ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); cond = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! boolean_type_node, cond, tmp); } } --- 1699,1708 ---- if (tmp != NULL_TREE) { ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); cond = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! logical_type_node, cond, tmp); } } *************** gfc_conv_substring (gfc_se * se, gfc_ref *** 2264,2278 **** if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { tree nonempty = fold_build2_loc (input_location, LE_EXPR, ! boolean_type_node, start.expr, end.expr); /* Check lower bound. */ ! fault = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, start.expr, build_int_cst (gfc_charlen_type_node, 1)); fault = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! boolean_type_node, nonempty, fault); if (name) msg = xasprintf ("Substring out of bounds: lower bound (%%ld) of '%s' " "is less than one", name); --- 2264,2278 ---- if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { tree nonempty = fold_build2_loc (input_location, LE_EXPR, ! logical_type_node, start.expr, end.expr); /* Check lower bound. */ ! fault = fold_build2_loc (input_location, LT_EXPR, logical_type_node, start.expr, build_int_cst (gfc_charlen_type_node, 1)); fault = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! logical_type_node, nonempty, fault); if (name) msg = xasprintf ("Substring out of bounds: lower bound (%%ld) of '%s' " "is less than one", name); *************** gfc_conv_substring (gfc_se * se, gfc_ref *** 2285,2294 **** free (msg); /* Check upper bound. */ ! fault = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, end.expr, se->string_length); fault = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! boolean_type_node, nonempty, fault); if (name) msg = xasprintf ("Substring out of bounds: upper bound (%%ld) of '%s' " "exceeds string length (%%ld)", name); --- 2285,2294 ---- free (msg); /* Check upper bound. */ ! fault = fold_build2_loc (input_location, GT_EXPR, logical_type_node, end.expr, se->string_length); fault = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! logical_type_node, nonempty, fault); if (name) msg = xasprintf ("Substring out of bounds: upper bound (%%ld) of '%s' " "exceeds string length (%%ld)", name); *************** gfc_conv_cst_int_power (gfc_se * se, tre *** 2890,2898 **** /* If rhs < 0 and lhs is an integer, the result is -1, 0 or 1. */ if ((sgn == -1) && (TREE_CODE (type) == INTEGER_TYPE)) { ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, lhs, build_int_cst (TREE_TYPE (lhs), -1)); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, lhs, build_int_cst (TREE_TYPE (lhs), 1)); /* If rhs is even, --- 2890,2898 ---- /* If rhs < 0 and lhs is an integer, the result is -1, 0 or 1. */ if ((sgn == -1) && (TREE_CODE (type) == INTEGER_TYPE)) { ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, lhs, build_int_cst (TREE_TYPE (lhs), -1)); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, lhs, build_int_cst (TREE_TYPE (lhs), 1)); /* If rhs is even, *************** gfc_conv_cst_int_power (gfc_se * se, tre *** 2900,2906 **** if ((n & 1) == 0) { tmp = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, tmp, cond); se->expr = fold_build3_loc (input_location, COND_EXPR, type, tmp, build_int_cst (type, 1), build_int_cst (type, 0)); --- 2900,2906 ---- if ((n & 1) == 0) { tmp = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, tmp, cond); se->expr = fold_build3_loc (input_location, COND_EXPR, type, tmp, build_int_cst (type, 1), build_int_cst (type, 0)); *************** gfc_conv_expr_op (gfc_se * se, gfc_expr *** 3386,3393 **** if (lop) { ! /* The result of logical ops is always boolean_type_node. */ ! tmp = fold_build2_loc (input_location, code, boolean_type_node, lse.expr, rse.expr); se->expr = convert (type, tmp); } --- 3386,3393 ---- if (lop) { ! /* The result of logical ops is always logical_type_node. */ ! tmp = fold_build2_loc (input_location, code, logical_type_node, lse.expr, rse.expr); se->expr = convert (type, tmp); } *************** gfc_map_intrinsic_function (gfc_expr *ex *** 4178,4186 **** if (arg2 && arg2->expr_type == EXPR_CONSTANT) d = mpz_get_si (arg2->value.integer) - 1; else ! /* TODO: If the need arises, this could produce an array of ! ubound/lbounds. */ ! gcc_unreachable (); if (expr->value.function.isym->id == GFC_ISYM_LBOUND) { --- 4178,4184 ---- if (arg2 && arg2->expr_type == EXPR_CONSTANT) d = mpz_get_si (arg2->value.integer) - 1; else ! return false; if (expr->value.function.isym->id == GFC_ISYM_LBOUND) { *************** gfc_conv_procedure_call (gfc_se * se, gf *** 4987,4993 **** tree descriptor_data; descriptor_data = ss->info->data.array.data; ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, descriptor_data, fold_convert (TREE_TYPE (descriptor_data), null_pointer_node)); --- 4985,4991 ---- tree descriptor_data; descriptor_data = ss->info->data.array.data; ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, descriptor_data, fold_convert (TREE_TYPE (descriptor_data), null_pointer_node)); *************** gfc_conv_procedure_call (gfc_se * se, gf *** 5151,5157 **** tree cond; tmp = gfc_build_addr_expr (NULL_TREE, parmse.expr); cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); gfc_start_block (&block); --- 5149,5155 ---- tree cond; tmp = gfc_build_addr_expr (NULL_TREE, parmse.expr); cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); gfc_start_block (&block); *************** gfc_conv_procedure_call (gfc_se * se, gf *** 5173,5182 **** } else { ! gfc_add_modify (&parmse.pre, var, ! fold_build1_loc (input_location, ! VIEW_CONVERT_EXPR, ! type, parmse.expr)); parmse.expr = gfc_build_addr_expr (NULL_TREE, var); } } --- 5171,5209 ---- } else { ! /* Since the internal representation of unlimited ! polymorphic expressions includes an extra field ! that other class objects do not, a cast to the ! formal type does not work. */ ! if (!UNLIMITED_POLY (e) && UNLIMITED_POLY (fsym)) ! { ! tree efield; ! ! /* Set the _data field. */ ! tmp = gfc_class_data_get (var); ! efield = fold_convert (TREE_TYPE (tmp), ! gfc_class_data_get (parmse.expr)); ! gfc_add_modify (&parmse.pre, tmp, efield); ! ! /* Set the _vptr field. */ ! tmp = gfc_class_vptr_get (var); ! efield = fold_convert (TREE_TYPE (tmp), ! gfc_class_vptr_get (parmse.expr)); ! gfc_add_modify (&parmse.pre, tmp, efield); ! ! /* Set the _len field. */ ! tmp = gfc_class_len_get (var); ! gfc_add_modify (&parmse.pre, tmp, ! build_int_cst (TREE_TYPE (tmp), 0)); ! } ! else ! { ! tmp = fold_build1_loc (input_location, ! VIEW_CONVERT_EXPR, ! type, parmse.expr); ! gfc_add_modify (&parmse.pre, var, tmp); ! ; ! } parmse.expr = gfc_build_addr_expr (NULL_TREE, var); } } *************** gfc_conv_procedure_call (gfc_se * se, gf *** 5653,5668 **** present = gfc_conv_expr_present (e->symtree->n.sym); type = TREE_TYPE (present); present = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, present, fold_convert (type, null_pointer_node)); type = TREE_TYPE (parmse.expr); null_ptr = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, parmse.expr, fold_convert (type, null_pointer_node)); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! boolean_type_node, present, null_ptr); } else { --- 5680,5695 ---- present = gfc_conv_expr_present (e->symtree->n.sym); type = TREE_TYPE (present); present = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, present, fold_convert (type, null_pointer_node)); type = TREE_TYPE (parmse.expr); null_ptr = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, parmse.expr, fold_convert (type, null_pointer_node)); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! logical_type_node, present, null_ptr); } else { *************** gfc_conv_procedure_call (gfc_se * se, gf *** 5689,5695 **** tmp = gfc_build_addr_expr (NULL_TREE, tmp); cond = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); } --- 5716,5722 ---- tmp = gfc_build_addr_expr (NULL_TREE, tmp); cond = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); } *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6184,6190 **** happen in a function returning a pointer. */ tmp = gfc_conv_descriptor_data_get (info->descriptor); tmp = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tmp, info->data); gfc_trans_runtime_check (true, false, tmp, &se->pre, NULL, gfc_msg_fault); --- 6211,6217 ---- happen in a function returning a pointer. */ tmp = gfc_conv_descriptor_data_get (info->descriptor); tmp = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tmp, info->data); gfc_trans_runtime_check (true, false, tmp, &se->pre, NULL, gfc_msg_fault); *************** gfc_conv_procedure_call (gfc_se * se, gf *** 6310,6316 **** final_fndecl = gfc_class_vtab_final_get (se->expr); is_final = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, final_fndecl, fold_convert (TREE_TYPE (final_fndecl), null_pointer_node)); --- 6337,6343 ---- final_fndecl = gfc_class_vtab_final_get (se->expr); is_final = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, final_fndecl, fold_convert (TREE_TYPE (final_fndecl), null_pointer_node)); *************** fill_with_spaces (tree start, tree type, *** 6384,6390 **** gfc_init_block (&loop); /* Exit condition. */ ! cond = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, i, build_zero_cst (sizetype)); tmp = build1_v (GOTO_EXPR, exit_label); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, tmp, --- 6411,6417 ---- gfc_init_block (&loop); /* Exit condition. */ ! cond = fold_build2_loc (input_location, LE_EXPR, logical_type_node, i, build_zero_cst (sizetype)); tmp = build1_v (GOTO_EXPR, exit_label); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, tmp, *************** gfc_trans_string_copy (stmtblock_t * blo *** 6477,6483 **** */ /* Do nothing if the destination length is zero. */ ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, dlen, build_int_cst (size_type_node, 0)); /* For non-default character kinds, we have to multiply the string --- 6504,6510 ---- */ /* Do nothing if the destination length is zero. */ ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, dlen, build_int_cst (size_type_node, 0)); /* For non-default character kinds, we have to multiply the string *************** gfc_trans_string_copy (stmtblock_t * blo *** 6513,6519 **** gfc_add_expr_to_block (&tmpblock2, tmp2); /* If the destination is longer, fill the end with spaces. */ ! cond2 = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, slen, dlen); /* Wstringop-overflow appears at -O3 even though this warning is not --- 6540,6546 ---- gfc_add_expr_to_block (&tmpblock2, tmp2); /* If the destination is longer, fill the end with spaces. */ ! cond2 = fold_build2_loc (input_location, LT_EXPR, logical_type_node, slen, dlen); /* Wstringop-overflow appears at -O3 even though this warning is not *************** gfc_trans_alloc_subarray_assign (tree de *** 7098,7104 **** null_pointer_node); null_expr = gfc_finish_block (&block); tmp = gfc_conv_descriptor_data_get (arg->symtree->n.sym->backend_decl); ! tmp = build2_loc (input_location, 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); --- 7125,7131 ---- null_pointer_node); null_expr = gfc_finish_block (&block); tmp = gfc_conv_descriptor_data_get (arg->symtree->n.sym->backend_decl); ! tmp = build2_loc (input_location, EQ_EXPR, logical_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); return build3_v (COND_EXPR, tmp, null_expr, non_null_expr); *************** trans_class_vptr_len_assignment (stmtblo *** 8051,8057 **** { /* Get the vptr from the rhs expression only, when it is variable. Functions are expected to be assigned to a temporary beforehand. */ ! vptr_expr = re->expr_type == EXPR_VARIABLE ? gfc_find_and_cut_at_last_class_ref (re) : NULL; if (vptr_expr != NULL && vptr_expr->ts.type == BT_CLASS) --- 8078,8084 ---- { /* Get the vptr from the rhs expression only, when it is variable. Functions are expected to be assigned to a temporary beforehand. */ ! vptr_expr = (re->expr_type == EXPR_VARIABLE && re->ts.type == BT_CLASS) ? gfc_find_and_cut_at_last_class_ref (re) : NULL; if (vptr_expr != NULL && vptr_expr->ts.type == BT_CLASS) *************** trans_class_vptr_len_assignment (stmtblo *** 8086,8091 **** --- 8113,8120 ---- { vptr_expr = NULL; se.expr = gfc_class_vptr_get (rse->expr); + if (UNLIMITED_POLY (re)) + from_len = gfc_class_len_get (rse->expr); } else if (re->expr_type != EXPR_NULL) /* Only when rhs is non-NULL use its declared type for vptr *************** pointer_assignment_is_proc_pointer (gfc_ *** 8205,8210 **** --- 8234,8272 ---- } + /* Do everything that is needed for a CLASS function expr2. */ + + static tree + trans_class_pointer_fcn (stmtblock_t *block, gfc_se *lse, gfc_se *rse, + gfc_expr *expr1, gfc_expr *expr2) + { + tree expr1_vptr = NULL_TREE; + tree tmp; + + gfc_conv_function_expr (rse, expr2); + rse->expr = gfc_evaluate_now (rse->expr, &rse->pre); + + if (expr1->ts.type != BT_CLASS) + rse->expr = gfc_class_data_get (rse->expr); + else + { + expr1_vptr = trans_class_vptr_len_assignment (block, expr1, + expr2, rse, + NULL, NULL); + gfc_add_block_to_block (block, &rse->pre); + tmp = gfc_create_var (TREE_TYPE (rse->expr), "ptrtemp"); + gfc_add_modify (&lse->pre, tmp, rse->expr); + + gfc_add_modify (&lse->pre, expr1_vptr, + fold_convert (TREE_TYPE (expr1_vptr), + gfc_class_vptr_get (tmp))); + rse->expr = gfc_class_data_get (tmp); + } + + return expr1_vptr; + } + + tree gfc_trans_pointer_assign (gfc_code * code) { *************** gfc_trans_pointer_assignment (gfc_expr * *** 8223,8228 **** --- 8285,8291 ---- tree desc; tree tmp; tree decl; + tree expr1_vptr = NULL_TREE; bool scalar, non_proc_pointer_assign; gfc_ss *ss; *************** gfc_trans_pointer_assignment (gfc_expr * *** 8256,8262 **** gfc_conv_expr (&lse, expr1); gfc_init_se (&rse, NULL); rse.want_pointer = 1; ! gfc_conv_expr (&rse, expr2); if (non_proc_pointer_assign && expr1->ts.type == BT_CLASS) { --- 8319,8328 ---- gfc_conv_expr (&lse, expr1); gfc_init_se (&rse, NULL); rse.want_pointer = 1; ! if (expr2->expr_type == EXPR_FUNCTION && expr2->ts.type == BT_CLASS) ! trans_class_pointer_fcn (&block, &lse, &rse, expr1, expr2); ! else ! gfc_conv_expr (&rse, expr2); if (non_proc_pointer_assign && expr1->ts.type == BT_CLASS) { *************** gfc_trans_pointer_assignment (gfc_expr * *** 8268,8279 **** if (expr1->symtree->n.sym->attr.proc_pointer && expr1->symtree->n.sym->attr.dummy) lse.expr = build_fold_indirect_ref_loc (input_location, ! lse.expr); if (expr2->symtree && expr2->symtree->n.sym->attr.proc_pointer && expr2->symtree->n.sym->attr.dummy) rse.expr = build_fold_indirect_ref_loc (input_location, ! rse.expr); gfc_add_block_to_block (&block, &lse.pre); gfc_add_block_to_block (&block, &rse.pre); --- 8334,8345 ---- if (expr1->symtree->n.sym->attr.proc_pointer && expr1->symtree->n.sym->attr.dummy) lse.expr = build_fold_indirect_ref_loc (input_location, ! lse.expr); if (expr2->symtree && expr2->symtree->n.sym->attr.proc_pointer && expr2->symtree->n.sym->attr.dummy) rse.expr = build_fold_indirect_ref_loc (input_location, ! rse.expr); gfc_add_block_to_block (&block, &lse.pre); gfc_add_block_to_block (&block, &rse.pre); *************** gfc_trans_pointer_assignment (gfc_expr * *** 8319,8325 **** { gfc_ref* remap; bool rank_remap; - tree expr1_vptr = NULL_TREE; tree strlen_lhs; tree strlen_rhs = NULL_TREE; --- 8385,8390 ---- *************** gfc_trans_pointer_assignment (gfc_expr * *** 8354,8379 **** rse.byref_noassign = 1; if (expr2->expr_type == EXPR_FUNCTION && expr2->ts.type == BT_CLASS) ! { ! gfc_conv_function_expr (&rse, expr2); ! ! if (expr1->ts.type != BT_CLASS) ! rse.expr = gfc_class_data_get (rse.expr); ! else ! { ! expr1_vptr = trans_class_vptr_len_assignment (&block, expr1, ! expr2, &rse, ! NULL, NULL); ! gfc_add_block_to_block (&block, &rse.pre); ! tmp = gfc_create_var (TREE_TYPE (rse.expr), "ptrtemp"); ! gfc_add_modify (&lse.pre, tmp, rse.expr); ! ! gfc_add_modify (&lse.pre, expr1_vptr, ! fold_convert (TREE_TYPE (expr1_vptr), ! gfc_class_vptr_get (tmp))); ! rse.expr = gfc_class_data_get (tmp); ! } ! } else if (expr2->expr_type == EXPR_FUNCTION) { tree bound[GFC_MAX_DIMENSIONS]; --- 8419,8426 ---- rse.byref_noassign = 1; if (expr2->expr_type == EXPR_FUNCTION && expr2->ts.type == BT_CLASS) ! expr1_vptr = trans_class_pointer_fcn (&block, &lse, &rse, ! expr1, expr2); else if (expr2->expr_type == EXPR_FUNCTION) { tree bound[GFC_MAX_DIMENSIONS]; *************** gfc_trans_pointer_assignment (gfc_expr * *** 8621,8627 **** lsize = gfc_evaluate_now (lsize, &block); rsize = gfc_evaluate_now (rsize, &block); ! fault = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, rsize, lsize); msg = _("Target of rank remapping is too small (%ld < %ld)"); --- 8668,8674 ---- lsize = gfc_evaluate_now (lsize, &block); rsize = gfc_evaluate_now (rsize, &block); ! fault = fold_build2_loc (input_location, LT_EXPR, logical_type_node, rsize, lsize); msg = _("Target of rank remapping is too small (%ld < %ld)"); *************** gfc_trans_scalar_assign (gfc_se * lse, g *** 8740,8746 **** /* Are the rhs and the lhs the same? */ if (deep_copy) { ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, gfc_build_addr_expr (NULL_TREE, lse->expr), gfc_build_addr_expr (NULL_TREE, rse->expr)); cond = gfc_evaluate_now (cond, &lse->pre); --- 8787,8793 ---- /* Are the rhs and the lhs the same? */ if (deep_copy) { ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, gfc_build_addr_expr (NULL_TREE, lse->expr), gfc_build_addr_expr (NULL_TREE, rse->expr)); cond = gfc_evaluate_now (cond, &lse->pre); *************** fcncall_realloc_result (gfc_se *se, int *** 9015,9021 **** the lhs descriptor. */ tmp = gfc_conv_descriptor_data_get (desc); zero_cond = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); zero_cond = gfc_evaluate_now (zero_cond, &se->post); tmp = gfc_call_free (tmp); --- 9062,9068 ---- the lhs descriptor. */ tmp = gfc_conv_descriptor_data_get (desc); zero_cond = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); zero_cond = gfc_evaluate_now (zero_cond, &se->post); tmp = gfc_call_free (tmp); *************** fcncall_realloc_result (gfc_se *se, int *** 9039,9049 **** tmp = fold_build2_loc (input_location, PLUS_EXPR, gfc_array_index_type, tmp, tmp1); tmp = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tmp, gfc_index_zero_node); tmp = gfc_evaluate_now (tmp, &se->post); zero_cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, tmp, zero_cond); } --- 9086,9096 ---- tmp = fold_build2_loc (input_location, PLUS_EXPR, gfc_array_index_type, tmp, tmp1); tmp = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tmp, gfc_index_zero_node); tmp = gfc_evaluate_now (tmp, &se->post); zero_cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, tmp, zero_cond); } *************** alloc_scalar_allocatable_for_assignment *** 9482,9488 **** /* Do the allocation if the lhs is NULL. Otherwise go to label 1. */ tmp = build_int_cst (TREE_TYPE (lse.expr), 0); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, lse.expr, tmp); tmp = build3_v (COND_EXPR, cond, build1_v (GOTO_EXPR, jump_label1), --- 9529,9535 ---- /* Do the allocation if the lhs is NULL. Otherwise go to label 1. */ tmp = build_int_cst (TREE_TYPE (lse.expr), 0); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, lse.expr, tmp); tmp = build3_v (COND_EXPR, cond, build1_v (GOTO_EXPR, jump_label1), *************** alloc_scalar_allocatable_for_assignment *** 9560,9566 **** rhs are different. */ if (expr1->ts.type == BT_CHARACTER && expr1->ts.deferred) { ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, lse.string_length, size); /* Jump past the realloc if the lengths are the same. */ tmp = build3_v (COND_EXPR, cond, --- 9607,9613 ---- rhs are different. */ if (expr1->ts.type == BT_CHARACTER && expr1->ts.deferred) { ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, lse.string_length, size); /* Jump past the realloc if the lengths are the same. */ tmp = build3_v (COND_EXPR, cond, *************** trans_class_assignment (stmtblock_t *blo *** 9706,9712 **** gfc_init_block (&alloc); gfc_allocate_using_malloc (&alloc, class_han, tmp, NULL_TREE); tmp = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, class_han, build_int_cst (prvoid_type_node, 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (tmp, --- 9753,9759 ---- gfc_init_block (&alloc); gfc_allocate_using_malloc (&alloc, class_han, tmp, NULL_TREE); tmp = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, class_han, build_int_cst (prvoid_type_node, 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (tmp, *************** trans_class_assignment (stmtblock_t *blo *** 9759,9765 **** extcopy = build_call_vec (TREE_TYPE (TREE_TYPE (fcn)), fcn, args); tmp = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, from_len, integer_zero_node); return fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, --- 9806,9812 ---- extcopy = build_call_vec (TREE_TYPE (TREE_TYPE (fcn)), fcn, args); tmp = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, from_len, integer_zero_node); return fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, *************** gfc_trans_assignment_1 (gfc_expr * expr1 *** 9988,9994 **** if (TREE_CODE (lse.expr) == ARRAY_REF) tmp = gfc_build_addr_expr (NULL_TREE, tmp); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); msg = _("Assignment of scalar to unallocated array"); gfc_trans_runtime_check (true, false, cond, &loop.pre, --- 10035,10041 ---- if (TREE_CODE (lse.expr) == ARRAY_REF) tmp = gfc_build_addr_expr (NULL_TREE, tmp); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); msg = _("Assignment of scalar to unallocated array"); gfc_trans_runtime_check (true, false, cond, &loop.pre, *************** gfc_trans_assignment_1 (gfc_expr * expr1 *** 10019,10030 **** NOTE: This relies on having the exact dependence of the length type parameter available to the caller; gfortran saves it in the .mod files. NOTE ALSO: The concatenation operation generates a temporary pointer, ! whose allocation must go to the innermost loop. */ if (flag_realloc_lhs && expr2->ts.type == BT_CHARACTER && expr1->ts.deferred && !(lss != gfc_ss_terminator ! && expr2->expr_type == EXPR_OP ! && expr2->value.op.op == INTRINSIC_CONCAT)) gfc_add_block_to_block (&block, &rse.pre); /* Nullify the allocatable components corresponding to those of the lhs --- 10066,10081 ---- NOTE: This relies on having the exact dependence of the length type parameter available to the caller; gfortran saves it in the .mod files. NOTE ALSO: The concatenation operation generates a temporary pointer, ! whose allocation must go to the innermost loop. ! NOTE ALSO (2): A character conversion may generate a temporary, too. */ if (flag_realloc_lhs && expr2->ts.type == BT_CHARACTER && expr1->ts.deferred && !(lss != gfc_ss_terminator ! && ((expr2->expr_type == EXPR_OP ! && expr2->value.op.op == INTRINSIC_CONCAT) ! || (expr2->expr_type == EXPR_FUNCTION ! && expr2->value.function.isym != NULL ! && expr2->value.function.isym->id == GFC_ISYM_CONVERSION)))) gfc_add_block_to_block (&block, &rse.pre); /* Nullify the allocatable components corresponding to those of the lhs diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-intrinsic.c gcc-7.3.0/gcc/fortran/trans-intrinsic.c *** gcc-7.2.0/gcc/fortran/trans-intrinsic.c Wed Mar 22 16:29:30 2017 --- gcc-7.3.0/gcc/fortran/trans-intrinsic.c Mon Nov 13 20:01:20 2017 *************** build_fixbound_expr (stmtblock_t * pbloc *** 358,364 **** tmp = convert (argtype, intval); cond = fold_build2_loc (input_location, up ? GE_EXPR : LE_EXPR, ! boolean_type_node, tmp, arg); tmp = fold_build2_loc (input_location, up ? PLUS_EXPR : MINUS_EXPR, type, intval, build_int_cst (type, 1)); --- 358,364 ---- tmp = convert (argtype, intval); cond = fold_build2_loc (input_location, up ? GE_EXPR : LE_EXPR, ! logical_type_node, tmp, arg); tmp = fold_build2_loc (input_location, up ? PLUS_EXPR : MINUS_EXPR, type, intval, build_int_cst (type, 1)); *************** gfc_conv_intrinsic_aint (gfc_se * se, gf *** 490,503 **** n = gfc_validate_kind (BT_INTEGER, kind, false); mpfr_set_z (huge, gfc_integer_kinds[n].huge, GFC_RND_MODE); tmp = gfc_conv_mpfr_to_tree (huge, kind, 0); ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, arg[0], tmp); mpfr_neg (huge, huge, GFC_RND_MODE); tmp = gfc_conv_mpfr_to_tree (huge, kind, 0); ! tmp = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, arg[0], tmp); ! cond = fold_build2_loc (input_location, TRUTH_AND_EXPR, boolean_type_node, cond, tmp); itype = gfc_get_int_type (kind); --- 490,503 ---- n = gfc_validate_kind (BT_INTEGER, kind, false); mpfr_set_z (huge, gfc_integer_kinds[n].huge, GFC_RND_MODE); tmp = gfc_conv_mpfr_to_tree (huge, kind, 0); ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, arg[0], tmp); mpfr_neg (huge, huge, GFC_RND_MODE); tmp = gfc_conv_mpfr_to_tree (huge, kind, 0); ! tmp = fold_build2_loc (input_location, GT_EXPR, logical_type_node, arg[0], tmp); ! cond = fold_build2_loc (input_location, TRUTH_AND_EXPR, logical_type_node, cond, tmp); itype = gfc_get_int_type (kind); *************** gfc_trans_same_strlen_check (const char* *** 885,891 **** return; /* Compare the two string lengths. */ ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, a, b); /* Output the runtime-check. */ name = gfc_build_cstring_const (intr_name); --- 885,891 ---- return; /* Compare the two string lengths. */ ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, a, b); /* Output the runtime-check. */ name = gfc_build_cstring_const (intr_name); *************** conv_caf_send (gfc_code *code) { *** 1872,1883 **** gfc_init_se (&lhs_se, NULL); if (lhs_expr->rank == 0) { ! symbol_attribute attr; ! gfc_clear_attr (&attr); ! gfc_conv_expr (&lhs_se, lhs_expr); ! lhs_type = TREE_TYPE (lhs_se.expr); ! lhs_se.expr = gfc_conv_scalar_to_descriptor (&lhs_se, lhs_se.expr, attr); ! lhs_se.expr = gfc_build_addr_expr (NULL_TREE, lhs_se.expr); } else if ((lhs_caf_attr.alloc_comp || lhs_caf_attr.pointer_comp) && lhs_caf_attr.codimension) --- 1872,1892 ---- gfc_init_se (&lhs_se, NULL); if (lhs_expr->rank == 0) { ! if (lhs_expr->ts.type == BT_CHARACTER && lhs_expr->ts.deferred) ! { ! lhs_se.expr = gfc_get_tree_for_caf_expr (lhs_expr); ! lhs_se.expr = gfc_build_addr_expr (NULL_TREE, lhs_se.expr); ! } ! else ! { ! symbol_attribute attr; ! gfc_clear_attr (&attr); ! gfc_conv_expr (&lhs_se, lhs_expr); ! lhs_type = TREE_TYPE (lhs_se.expr); ! lhs_se.expr = gfc_conv_scalar_to_descriptor (&lhs_se, lhs_se.expr, ! attr); ! lhs_se.expr = gfc_build_addr_expr (NULL_TREE, lhs_se.expr); ! } } else if ((lhs_caf_attr.alloc_comp || lhs_caf_attr.pointer_comp) && lhs_caf_attr.codimension) *************** conv_caf_send (gfc_code *code) { *** 1953,1959 **** TYPE_SIZE_UNIT ( gfc_typenode_for_spec (&lhs_expr->ts)), NULL_TREE); ! tmp = fold_build2 (EQ_EXPR, boolean_type_node, scal_se.expr, null_pointer_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, gfc_finish_block (&scal_se.pre), --- 1962,1968 ---- TYPE_SIZE_UNIT ( gfc_typenode_for_spec (&lhs_expr->ts)), NULL_TREE); ! tmp = fold_build2 (EQ_EXPR, logical_type_node, scal_se.expr, null_pointer_node); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, gfc_finish_block (&scal_se.pre), *************** trans_this_image (gfc_se * se, gfc_expr *** 2245,2258 **** else if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { dim_arg = gfc_evaluate_now (dim_arg, &se->pre); ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, dim_arg, build_int_cst (TREE_TYPE (dim_arg), 1)); tmp = gfc_rank_cst[GFC_TYPE_ARRAY_CORANK (TREE_TYPE (desc))]; ! tmp = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, dim_arg, tmp); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! boolean_type_node, cond, tmp); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, gfc_msg_fault); } --- 2254,2267 ---- else if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { dim_arg = gfc_evaluate_now (dim_arg, &se->pre); ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, dim_arg, build_int_cst (TREE_TYPE (dim_arg), 1)); tmp = gfc_rank_cst[GFC_TYPE_ARRAY_CORANK (TREE_TYPE (desc))]; ! tmp = fold_build2_loc (input_location, GT_EXPR, logical_type_node, dim_arg, tmp); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! logical_type_node, cond, tmp); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, gfc_msg_fault); } *************** trans_this_image (gfc_se * se, gfc_expr *** 2343,2349 **** m, extent)); /* Exit condition: if (i >= min_var) goto exit_label. */ ! cond = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, loop_var, min_var); tmp = build1_v (GOTO_EXPR, exit_label); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, tmp, --- 2352,2358 ---- m, extent)); /* Exit condition: if (i >= min_var) goto exit_label. */ ! cond = fold_build2_loc (input_location, GE_EXPR, logical_type_node, loop_var, min_var); tmp = build1_v (GOTO_EXPR, exit_label); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, cond, tmp, *************** trans_this_image (gfc_se * se, gfc_expr *** 2368,2374 **** /* sub(co_dim) = (co_dim < corank) ? ml - m*extent + lcobound(dim_arg) : m + lcobound(corank) */ ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, dim_arg, build_int_cst (TREE_TYPE (dim_arg), corank)); lbound = gfc_conv_descriptor_lbound_get (desc, --- 2377,2383 ---- /* sub(co_dim) = (co_dim < corank) ? ml - m*extent + lcobound(dim_arg) : m + lcobound(corank) */ ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, dim_arg, build_int_cst (TREE_TYPE (dim_arg), corank)); lbound = gfc_conv_descriptor_lbound_get (desc, *************** conv_intrinsic_image_status (gfc_se *se, *** 2406,2412 **** { tree arg; arg = gfc_evaluate_now (args[0], &se->pre); ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, fold_convert (integer_type_node, arg), integer_one_node); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, --- 2415,2421 ---- { tree arg; arg = gfc_evaluate_now (args[0], &se->pre); ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, fold_convert (integer_type_node, arg), integer_one_node); tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, *************** trans_image_index (gfc_se * se, gfc_expr *** 2457,2463 **** lbound = gfc_conv_descriptor_lbound_get (desc, gfc_rank_cst[rank+corank-1]); tmp = gfc_build_array_ref (subdesc, gfc_rank_cst[corank-1], NULL); ! invalid_bound = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, fold_convert (gfc_array_index_type, tmp), lbound); --- 2466,2472 ---- lbound = gfc_conv_descriptor_lbound_get (desc, gfc_rank_cst[rank+corank-1]); tmp = gfc_build_array_ref (subdesc, gfc_rank_cst[corank-1], NULL); ! invalid_bound = fold_build2_loc (input_location, LT_EXPR, logical_type_node, fold_convert (gfc_array_index_type, tmp), lbound); *************** trans_image_index (gfc_se * se, gfc_expr *** 2466,2481 **** lbound = gfc_conv_descriptor_lbound_get (desc, gfc_rank_cst[codim]); ubound = gfc_conv_descriptor_ubound_get (desc, gfc_rank_cst[codim]); tmp = gfc_build_array_ref (subdesc, gfc_rank_cst[codim-rank], NULL); ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, fold_convert (gfc_array_index_type, tmp), lbound); invalid_bound = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, invalid_bound, cond); ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, fold_convert (gfc_array_index_type, tmp), ubound); invalid_bound = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, invalid_bound, cond); } invalid_bound = gfc_unlikely (invalid_bound, PRED_FORTRAN_INVALID_BOUND); --- 2475,2490 ---- lbound = gfc_conv_descriptor_lbound_get (desc, gfc_rank_cst[codim]); ubound = gfc_conv_descriptor_ubound_get (desc, gfc_rank_cst[codim]); tmp = gfc_build_array_ref (subdesc, gfc_rank_cst[codim-rank], NULL); ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, fold_convert (gfc_array_index_type, tmp), lbound); invalid_bound = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, invalid_bound, cond); ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, fold_convert (gfc_array_index_type, tmp), ubound); invalid_bound = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, invalid_bound, cond); } invalid_bound = gfc_unlikely (invalid_bound, PRED_FORTRAN_INVALID_BOUND); *************** trans_image_index (gfc_se * se, gfc_expr *** 2535,2545 **** tmp = gfc_create_var (type, NULL); gfc_add_modify (&se->pre, tmp, coindex); ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, tmp, num_images); ! cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, boolean_type_node, cond, ! fold_convert (boolean_type_node, invalid_bound)); se->expr = fold_build3_loc (input_location, COND_EXPR, type, cond, build_int_cst (type, 0), tmp); } --- 2544,2554 ---- tmp = gfc_create_var (type, NULL); gfc_add_modify (&se->pre, tmp, coindex); ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, tmp, num_images); ! cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, logical_type_node, cond, ! fold_convert (logical_type_node, invalid_bound)); se->expr = fold_build3_loc (input_location, COND_EXPR, type, cond, build_int_cst (type, 0), tmp); } *************** gfc_conv_intrinsic_bound (gfc_se * se, g *** 2670,2685 **** if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { bound = gfc_evaluate_now (bound, &se->pre); ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, bound, build_int_cst (TREE_TYPE (bound), 0)); if (as && as->type == AS_ASSUMED_RANK) tmp = gfc_conv_descriptor_rank (desc); else tmp = gfc_rank_cst[GFC_TYPE_ARRAY_RANK (TREE_TYPE (desc))]; ! tmp = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, bound, fold_convert(TREE_TYPE (bound), tmp)); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! boolean_type_node, cond, tmp); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, gfc_msg_fault); } --- 2679,2694 ---- if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { bound = gfc_evaluate_now (bound, &se->pre); ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, bound, build_int_cst (TREE_TYPE (bound), 0)); if (as && as->type == AS_ASSUMED_RANK) tmp = gfc_conv_descriptor_rank (desc); else tmp = gfc_rank_cst[GFC_TYPE_ARRAY_RANK (TREE_TYPE (desc))]; ! tmp = fold_build2_loc (input_location, GE_EXPR, logical_type_node, bound, fold_convert(TREE_TYPE (bound), tmp)); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! logical_type_node, cond, tmp); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, gfc_msg_fault); } *************** gfc_conv_intrinsic_bound (gfc_se * se, g *** 2725,2751 **** { tree stride = gfc_conv_descriptor_stride_get (desc, bound); ! cond1 = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, ubound, lbound); ! cond3 = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, stride, gfc_index_zero_node); cond3 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, cond3, cond1); ! cond4 = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, stride, gfc_index_zero_node); if (upper) { tree cond5; cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond3, cond4); ! cond5 = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, gfc_index_one_node, lbound); cond5 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, cond4, cond5); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond, cond5); if (assumed_rank_lb_one) { --- 2734,2760 ---- { tree stride = gfc_conv_descriptor_stride_get (desc, bound); ! cond1 = fold_build2_loc (input_location, GE_EXPR, logical_type_node, ubound, lbound); ! cond3 = fold_build2_loc (input_location, GE_EXPR, logical_type_node, stride, gfc_index_zero_node); cond3 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, cond3, cond1); ! cond4 = fold_build2_loc (input_location, LT_EXPR, logical_type_node, stride, gfc_index_zero_node); if (upper) { tree cond5; cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond3, cond4); ! cond5 = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, gfc_index_one_node, lbound); cond5 = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, cond4, cond5); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond, cond5); if (assumed_rank_lb_one) { *************** gfc_conv_intrinsic_bound (gfc_se * se, g *** 2764,2779 **** else { if (as->type == AS_ASSUMED_SIZE) ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, bound, build_int_cst (TREE_TYPE (bound), arg->expr->rank - 1)); else ! cond = boolean_false_node; cond1 = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond3, cond4); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond, cond1); se->expr = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, --- 2773,2788 ---- else { if (as->type == AS_ASSUMED_SIZE) ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, bound, build_int_cst (TREE_TYPE (bound), arg->expr->rank - 1)); else ! cond = logical_false_node; cond1 = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond3, cond4); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond, cond1); se->expr = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, *************** conv_intrinsic_cobound (gfc_se * se, gfc *** 2863,2875 **** else if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { bound = gfc_evaluate_now (bound, &se->pre); ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, bound, build_int_cst (TREE_TYPE (bound), 1)); tmp = gfc_rank_cst[GFC_TYPE_ARRAY_CORANK (TREE_TYPE (desc))]; ! tmp = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, bound, tmp); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! boolean_type_node, cond, tmp); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, gfc_msg_fault); } --- 2872,2884 ---- else if (gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) { bound = gfc_evaluate_now (bound, &se->pre); ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, bound, build_int_cst (TREE_TYPE (bound), 1)); tmp = gfc_rank_cst[GFC_TYPE_ARRAY_CORANK (TREE_TYPE (desc))]; ! tmp = fold_build2_loc (input_location, GT_EXPR, logical_type_node, bound, tmp); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! logical_type_node, cond, tmp); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, gfc_msg_fault); } *************** conv_intrinsic_cobound (gfc_se * se, gfc *** 2938,2944 **** if (corank > 1) { ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, bound, build_int_cst (TREE_TYPE (bound), arg->expr->rank + corank - 1)); --- 2947,2953 ---- if (corank > 1) { ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, bound, build_int_cst (TREE_TYPE (bound), arg->expr->rank + corank - 1)); *************** gfc_conv_intrinsic_mod (gfc_se * se, gfc *** 3127,3142 **** tmp = gfc_evaluate_now (se->expr, &se->pre); if (!flag_signed_zeros) { ! test = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, args[0], zero); ! test2 = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, args[1], zero); test2 = fold_build2_loc (input_location, TRUTH_XOR_EXPR, ! boolean_type_node, test, test2); ! test = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, zero); test = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, test, test2); test = gfc_evaluate_now (test, &se->pre); se->expr = fold_build3_loc (input_location, COND_EXPR, type, test, fold_build2_loc (input_location, --- 3136,3151 ---- tmp = gfc_evaluate_now (se->expr, &se->pre); if (!flag_signed_zeros) { ! test = fold_build2_loc (input_location, LT_EXPR, logical_type_node, args[0], zero); ! test2 = fold_build2_loc (input_location, LT_EXPR, logical_type_node, args[1], zero); test2 = fold_build2_loc (input_location, TRUTH_XOR_EXPR, ! logical_type_node, test, test2); ! test = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, zero); test = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, test, test2); test = gfc_evaluate_now (test, &se->pre); se->expr = fold_build3_loc (input_location, COND_EXPR, type, test, fold_build2_loc (input_location, *************** gfc_conv_intrinsic_mod (gfc_se * se, gfc *** 3149,3166 **** tree expr1, copysign, cscall; copysign = gfc_builtin_decl_for_float_kind (BUILT_IN_COPYSIGN, expr->ts.kind); ! test = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, args[0], zero); ! test2 = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, args[1], zero); test2 = fold_build2_loc (input_location, TRUTH_XOR_EXPR, ! boolean_type_node, test, test2); expr1 = fold_build3_loc (input_location, COND_EXPR, type, test2, fold_build2_loc (input_location, PLUS_EXPR, type, tmp, args[1]), tmp); ! test = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, zero); cscall = build_call_expr_loc (input_location, copysign, 2, zero, args[1]); --- 3158,3175 ---- tree expr1, copysign, cscall; copysign = gfc_builtin_decl_for_float_kind (BUILT_IN_COPYSIGN, expr->ts.kind); ! test = fold_build2_loc (input_location, LT_EXPR, logical_type_node, args[0], zero); ! test2 = fold_build2_loc (input_location, LT_EXPR, logical_type_node, args[1], zero); test2 = fold_build2_loc (input_location, TRUTH_XOR_EXPR, ! logical_type_node, test, test2); expr1 = fold_build3_loc (input_location, COND_EXPR, type, test2, fold_build2_loc (input_location, PLUS_EXPR, type, tmp, args[1]), tmp); ! test = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, zero); cscall = build_call_expr_loc (input_location, copysign, 2, zero, args[1]); *************** gfc_conv_intrinsic_dshift (gfc_se * se, *** 3216,3227 **** res = fold_build2_loc (input_location, BIT_IOR_EXPR, type, left, right); /* Special cases. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, shift, build_int_cst (stype, 0)); res = fold_build3_loc (input_location, COND_EXPR, type, cond, dshiftl ? arg1 : arg2, res); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, shift, build_int_cst (stype, bitsize)); res = fold_build3_loc (input_location, COND_EXPR, type, cond, dshiftl ? arg2 : arg1, res); --- 3225,3236 ---- res = fold_build2_loc (input_location, BIT_IOR_EXPR, type, left, right); /* Special cases. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, shift, build_int_cst (stype, 0)); res = fold_build3_loc (input_location, COND_EXPR, type, cond, dshiftl ? arg1 : arg2, res); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, shift, build_int_cst (stype, bitsize)); res = fold_build3_loc (input_location, COND_EXPR, type, cond, dshiftl ? arg2 : arg1, res); *************** gfc_conv_intrinsic_dim (gfc_se * se, gfc *** 3248,3254 **** val = gfc_evaluate_now (val, &se->pre); zero = gfc_build_const (type, integer_zero_node); ! tmp = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, val, zero); se->expr = fold_build3_loc (input_location, COND_EXPR, type, tmp, zero, val); } --- 3257,3263 ---- val = gfc_evaluate_now (val, &se->pre); zero = gfc_build_const (type, integer_zero_node); ! tmp = fold_build2_loc (input_location, LE_EXPR, logical_type_node, val, zero); se->expr = fold_build3_loc (input_location, COND_EXPR, type, tmp, zero, val); } *************** gfc_conv_intrinsic_sign (gfc_se * se, gf *** 3281,3287 **** { tree cond, zero; zero = build_real_from_int_cst (TREE_TYPE (args[1]), integer_zero_node); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, args[1], zero); se->expr = fold_build3_loc (input_location, COND_EXPR, TREE_TYPE (args[0]), cond, --- 3290,3296 ---- { tree cond, zero; zero = build_real_from_int_cst (TREE_TYPE (args[1]), integer_zero_node); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, args[1], zero); se->expr = fold_build3_loc (input_location, COND_EXPR, TREE_TYPE (args[0]), cond, *************** gfc_conv_intrinsic_ctime (gfc_se * se, g *** 3402,3408 **** gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); --- 3411,3417 ---- gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_fdate (gfc_se * se, g *** 3441,3447 **** gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); --- 3450,3456 ---- gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_ttynam (gfc_se * se, *** 3651,3657 **** gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); --- 3660,3666 ---- gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_minmax (gfc_se * se, *** 3715,3721 **** && argexpr->expr->symtree->n.sym->attr.optional && TREE_CODE (val) == INDIRECT_REF) cond = fold_build2_loc (input_location, ! NE_EXPR, boolean_type_node, TREE_OPERAND (val, 0), build_int_cst (TREE_TYPE (TREE_OPERAND (val, 0)), 0)); else --- 3724,3730 ---- && argexpr->expr->symtree->n.sym->attr.optional && TREE_CODE (val) == INDIRECT_REF) cond = fold_build2_loc (input_location, ! NE_EXPR, logical_type_node, TREE_OPERAND (val, 0), build_int_cst (TREE_TYPE (TREE_OPERAND (val, 0)), 0)); else *************** gfc_conv_intrinsic_minmax (gfc_se * se, *** 3729,3735 **** thencase = build2_v (MODIFY_EXPR, mvar, convert (type, val)); ! tmp = fold_build2_loc (input_location, op, boolean_type_node, convert (type, val), mvar); /* FIXME: When the IEEE_ARITHMETIC module is implemented, the call to --- 3738,3744 ---- thencase = build2_v (MODIFY_EXPR, mvar, convert (type, val)); ! tmp = fold_build2_loc (input_location, op, logical_type_node, convert (type, val), mvar); /* FIXME: When the IEEE_ARITHMETIC module is implemented, the call to *************** gfc_conv_intrinsic_minmax (gfc_se * se, *** 3741,3748 **** builtin_decl_explicit (BUILT_IN_ISNAN), 1, mvar); tmp = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, tmp, ! fold_convert (boolean_type_node, isnan)); } tmp = build3_v (COND_EXPR, tmp, thencase, build_empty_stmt (input_location)); --- 3750,3757 ---- builtin_decl_explicit (BUILT_IN_ISNAN), 1, mvar); tmp = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, tmp, ! fold_convert (logical_type_node, isnan)); } tmp = build3_v (COND_EXPR, tmp, thencase, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_minmax_char (gfc_se * *** 3794,3800 **** gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); --- 3803,3809 ---- gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_anyall (gfc_se * se, *** 3994,4000 **** gfc_conv_expr_val (&arrayse, actual->expr); gfc_add_block_to_block (&body, &arrayse.pre); ! tmp = fold_build2_loc (input_location, op, boolean_type_node, arrayse.expr, build_int_cst (TREE_TYPE (arrayse.expr), 0)); tmp = build3_v (COND_EXPR, tmp, found, build_empty_stmt (input_location)); gfc_add_expr_to_block (&body, tmp); --- 4003,4009 ---- gfc_conv_expr_val (&arrayse, actual->expr); gfc_add_block_to_block (&body, &arrayse.pre); ! tmp = fold_build2_loc (input_location, op, logical_type_node, arrayse.expr, build_int_cst (TREE_TYPE (arrayse.expr), 0)); tmp = build3_v (COND_EXPR, tmp, found, build_empty_stmt (input_location)); gfc_add_expr_to_block (&body, tmp); *************** gfc_conv_intrinsic_arith (gfc_se * se, g *** 4273,4285 **** gfc_add_modify (&ifblock3, resvar, res2); res2 = gfc_finish_block (&ifblock3); ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, absX, scale); tmp = build3_v (COND_EXPR, cond, res1, res2); gfc_add_expr_to_block (&ifblock1, tmp); tmp = gfc_finish_block (&ifblock1); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, arrayse.expr, gfc_build_const (type, integer_zero_node)); --- 4282,4294 ---- gfc_add_modify (&ifblock3, resvar, res2); res2 = gfc_finish_block (&ifblock3); ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, absX, scale); tmp = build3_v (COND_EXPR, cond, res1, res2); gfc_add_expr_to_block (&ifblock1, tmp); tmp = gfc_finish_block (&ifblock1); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, arrayse.expr, gfc_build_const (type, integer_zero_node)); *************** gfc_conv_intrinsic_minmaxloc (gfc_se * s *** 4585,4591 **** nonempty = gfc_conv_mpz_to_tree (asize, gfc_index_integer_kind); mpz_clear (asize); nonempty = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, nonempty, gfc_index_zero_node); } maskss = NULL; --- 4594,4600 ---- nonempty = gfc_conv_mpz_to_tree (asize, gfc_index_integer_kind); mpz_clear (asize); nonempty = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, nonempty, gfc_index_zero_node); } maskss = NULL; *************** gfc_conv_intrinsic_minmaxloc (gfc_se * s *** 4649,4655 **** gcc_assert (loop.dimen == 1); if (nonempty == NULL && maskss == NULL && loop.from[0] && loop.to[0]) ! nonempty = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, loop.from[0], loop.to[0]); lab1 = NULL; --- 4658,4664 ---- gcc_assert (loop.dimen == 1); if (nonempty == NULL && maskss == NULL && loop.from[0] && loop.to[0]) ! nonempty = fold_build2_loc (input_location, LE_EXPR, logical_type_node, loop.from[0], loop.to[0]); lab1 = NULL; *************** gfc_conv_intrinsic_minmaxloc (gfc_se * s *** 4725,4731 **** loop.loopvar[0], offset); gfc_add_modify (&ifblock2, pos, tmp); ifbody2 = gfc_finish_block (&ifblock2); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, pos, gfc_index_zero_node); tmp = build3_v (COND_EXPR, cond, ifbody2, build_empty_stmt (input_location)); --- 4734,4740 ---- loop.loopvar[0], offset); gfc_add_modify (&ifblock2, pos, tmp); ifbody2 = gfc_finish_block (&ifblock2); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, pos, gfc_index_zero_node); tmp = build3_v (COND_EXPR, cond, ifbody2, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_minmaxloc (gfc_se * s *** 4746,4754 **** if (lab1) cond = fold_build2_loc (input_location, op == GT_EXPR ? GE_EXPR : LE_EXPR, ! boolean_type_node, arrayse.expr, limit); else ! cond = fold_build2_loc (input_location, op, boolean_type_node, arrayse.expr, limit); ifbody = build3_v (COND_EXPR, cond, ifbody, --- 4755,4763 ---- if (lab1) cond = fold_build2_loc (input_location, op == GT_EXPR ? GE_EXPR : LE_EXPR, ! logical_type_node, arrayse.expr, limit); else ! cond = fold_build2_loc (input_location, op, logical_type_node, arrayse.expr, limit); ifbody = build3_v (COND_EXPR, cond, ifbody, *************** gfc_conv_intrinsic_minmaxloc (gfc_se * s *** 4819,4825 **** ifbody = gfc_finish_block (&ifblock); ! cond = fold_build2_loc (input_location, op, boolean_type_node, arrayse.expr, limit); tmp = build3_v (COND_EXPR, cond, ifbody, --- 4828,4834 ---- ifbody = gfc_finish_block (&ifblock); ! cond = fold_build2_loc (input_location, op, logical_type_node, arrayse.expr, limit); tmp = build3_v (COND_EXPR, cond, ifbody, *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5071,5077 **** nonempty = gfc_conv_mpz_to_tree (asize, gfc_index_integer_kind); mpz_clear (asize); nonempty = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, nonempty, gfc_index_zero_node); } maskss = NULL; --- 5080,5086 ---- nonempty = gfc_conv_mpz_to_tree (asize, gfc_index_integer_kind); mpz_clear (asize); nonempty = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, nonempty, gfc_index_zero_node); } maskss = NULL; *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5105,5119 **** if (nonempty == NULL && maskss == NULL && loop.dimen == 1 && loop.from[0] && loop.to[0]) ! nonempty = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, loop.from[0], loop.to[0]); nonempty_var = NULL; if (nonempty == NULL && (HONOR_INFINITIES (DECL_MODE (limit)) || HONOR_NANS (DECL_MODE (limit)))) { ! nonempty_var = gfc_create_var (boolean_type_node, "nonempty"); ! gfc_add_modify (&se->pre, nonempty_var, boolean_false_node); nonempty = nonempty_var; } lab = NULL; --- 5114,5128 ---- if (nonempty == NULL && maskss == NULL && loop.dimen == 1 && loop.from[0] && loop.to[0]) ! nonempty = fold_build2_loc (input_location, LE_EXPR, logical_type_node, loop.from[0], loop.to[0]); nonempty_var = NULL; if (nonempty == NULL && (HONOR_INFINITIES (DECL_MODE (limit)) || HONOR_NANS (DECL_MODE (limit)))) { ! nonempty_var = gfc_create_var (logical_type_node, "nonempty"); ! gfc_add_modify (&se->pre, nonempty_var, logical_false_node); nonempty = nonempty_var; } lab = NULL; *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5127,5134 **** } else { ! fast = gfc_create_var (boolean_type_node, "fast"); ! gfc_add_modify (&se->pre, fast, boolean_false_node); } } --- 5136,5143 ---- } else { ! fast = gfc_create_var (logical_type_node, "fast"); ! gfc_add_modify (&se->pre, fast, logical_false_node); } } *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5162,5173 **** gfc_init_block (&block2); if (nonempty_var) ! gfc_add_modify (&block2, nonempty_var, boolean_true_node); if (HONOR_NANS (DECL_MODE (limit))) { tmp = fold_build2_loc (input_location, op == GT_EXPR ? GE_EXPR : LE_EXPR, ! boolean_type_node, arrayse.expr, limit); if (lab) ifbody = build1_v (GOTO_EXPR, lab); else --- 5171,5182 ---- gfc_init_block (&block2); if (nonempty_var) ! gfc_add_modify (&block2, nonempty_var, logical_true_node); if (HONOR_NANS (DECL_MODE (limit))) { tmp = fold_build2_loc (input_location, op == GT_EXPR ? GE_EXPR : LE_EXPR, ! logical_type_node, arrayse.expr, limit); if (lab) ifbody = build1_v (GOTO_EXPR, lab); else *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5176,5182 **** gfc_init_block (&ifblock); gfc_add_modify (&ifblock, limit, arrayse.expr); ! gfc_add_modify (&ifblock, fast, boolean_true_node); ifbody = gfc_finish_block (&ifblock); } tmp = build3_v (COND_EXPR, tmp, ifbody, --- 5185,5191 ---- gfc_init_block (&ifblock); gfc_add_modify (&ifblock, limit, arrayse.expr); ! gfc_add_modify (&ifblock, fast, logical_true_node); ifbody = gfc_finish_block (&ifblock); } tmp = build3_v (COND_EXPR, tmp, ifbody, *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5189,5195 **** signed zeros. */ if (HONOR_SIGNED_ZEROS (DECL_MODE (limit))) { ! tmp = fold_build2_loc (input_location, op, boolean_type_node, arrayse.expr, limit); ifbody = build2_v (MODIFY_EXPR, limit, arrayse.expr); tmp = build3_v (COND_EXPR, tmp, ifbody, --- 5198,5204 ---- signed zeros. */ if (HONOR_SIGNED_ZEROS (DECL_MODE (limit))) { ! tmp = fold_build2_loc (input_location, op, logical_type_node, arrayse.expr, limit); ifbody = build2_v (MODIFY_EXPR, limit, arrayse.expr); tmp = build3_v (COND_EXPR, tmp, ifbody, *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5214,5220 **** if (HONOR_NANS (DECL_MODE (limit)) || HONOR_SIGNED_ZEROS (DECL_MODE (limit))) { ! tmp = fold_build2_loc (input_location, op, boolean_type_node, arrayse.expr, limit); ifbody = build2_v (MODIFY_EXPR, limit, arrayse.expr); ifbody = build3_v (COND_EXPR, tmp, ifbody, --- 5223,5229 ---- if (HONOR_NANS (DECL_MODE (limit)) || HONOR_SIGNED_ZEROS (DECL_MODE (limit))) { ! tmp = fold_build2_loc (input_location, op, logical_type_node, arrayse.expr, limit); ifbody = build2_v (MODIFY_EXPR, limit, arrayse.expr); ifbody = build3_v (COND_EXPR, tmp, ifbody, *************** gfc_conv_intrinsic_minmaxval (gfc_se * s *** 5277,5283 **** if (HONOR_NANS (DECL_MODE (limit)) || HONOR_SIGNED_ZEROS (DECL_MODE (limit))) { ! tmp = fold_build2_loc (input_location, op, boolean_type_node, arrayse.expr, limit); ifbody = build2_v (MODIFY_EXPR, limit, arrayse.expr); tmp = build3_v (COND_EXPR, tmp, ifbody, --- 5286,5292 ---- if (HONOR_NANS (DECL_MODE (limit)) || HONOR_SIGNED_ZEROS (DECL_MODE (limit))) { ! tmp = fold_build2_loc (input_location, op, logical_type_node, arrayse.expr, limit); ifbody = build2_v (MODIFY_EXPR, limit, arrayse.expr); tmp = build3_v (COND_EXPR, tmp, ifbody, *************** gfc_conv_intrinsic_btest (gfc_se * se, g *** 5367,5373 **** tmp = fold_build2_loc (input_location, LSHIFT_EXPR, type, build_int_cst (type, 1), args[1]); tmp = fold_build2_loc (input_location, BIT_AND_EXPR, type, args[0], tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, build_int_cst (type, 0)); type = gfc_typenode_for_spec (&expr->ts); se->expr = convert (type, tmp); --- 5376,5382 ---- tmp = fold_build2_loc (input_location, LSHIFT_EXPR, type, build_int_cst (type, 1), args[1]); tmp = fold_build2_loc (input_location, BIT_AND_EXPR, type, args[0], tmp); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, build_int_cst (type, 0)); type = gfc_typenode_for_spec (&expr->ts); se->expr = convert (type, tmp); *************** gfc_conv_intrinsic_bitcomp (gfc_se * se, *** 5395,5401 **** args[0] = fold_convert (TREE_TYPE (args[1]), args[0]); /* Now, we compare them. */ ! se->expr = fold_build2_loc (input_location, op, boolean_type_node, args[0], args[1]); } --- 5404,5410 ---- args[0] = fold_convert (TREE_TYPE (args[1]), args[0]); /* Now, we compare them. */ ! se->expr = fold_build2_loc (input_location, op, logical_type_node, args[0], args[1]); } *************** gfc_conv_intrinsic_shift (gfc_se * se, g *** 5496,5502 **** gcc requires a shift width < BIT_SIZE(I), so we have to catch this special case. */ num_bits = build_int_cst (TREE_TYPE (args[1]), TYPE_PRECISION (type)); ! cond = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, args[1], num_bits); se->expr = fold_build3_loc (input_location, COND_EXPR, type, cond, --- 5505,5511 ---- gcc requires a shift width < BIT_SIZE(I), so we have to catch this special case. */ num_bits = build_int_cst (TREE_TYPE (args[1]), TYPE_PRECISION (type)); ! cond = fold_build2_loc (input_location, GE_EXPR, logical_type_node, args[1], num_bits); se->expr = fold_build3_loc (input_location, COND_EXPR, type, cond, *************** gfc_conv_intrinsic_ishft (gfc_se * se, g *** 5542,5548 **** rshift = fold_convert (type, fold_build2_loc (input_location, RSHIFT_EXPR, utype, convert (utype, args[0]), width)); ! tmp = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, args[1], build_int_cst (TREE_TYPE (args[1]), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, type, tmp, lshift, rshift); --- 5551,5557 ---- rshift = fold_convert (type, fold_build2_loc (input_location, RSHIFT_EXPR, utype, convert (utype, args[0]), width)); ! tmp = fold_build2_loc (input_location, GE_EXPR, logical_type_node, args[1], build_int_cst (TREE_TYPE (args[1]), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, type, tmp, lshift, rshift); *************** gfc_conv_intrinsic_ishft (gfc_se * se, g *** 5550,5556 **** gcc requires a shift width < BIT_SIZE(I), so we have to catch this special case. */ num_bits = build_int_cst (TREE_TYPE (args[1]), TYPE_PRECISION (type)); ! cond = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, width, num_bits); se->expr = fold_build3_loc (input_location, COND_EXPR, type, cond, build_int_cst (type, 0), tmp); --- 5559,5565 ---- gcc requires a shift width < BIT_SIZE(I), so we have to catch this special case. */ num_bits = build_int_cst (TREE_TYPE (args[1]), TYPE_PRECISION (type)); ! cond = fold_build2_loc (input_location, GE_EXPR, logical_type_node, width, num_bits); se->expr = fold_build3_loc (input_location, COND_EXPR, type, cond, build_int_cst (type, 0), tmp); *************** gfc_conv_intrinsic_ishftc (gfc_se * se, *** 5634,5645 **** rrot = fold_build2_loc (input_location,RROTATE_EXPR, type, args[0], tmp); zero = build_int_cst (TREE_TYPE (args[1]), 0); ! tmp = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, args[1], zero); rrot = fold_build3_loc (input_location, COND_EXPR, type, tmp, lrot, rrot); /* Do nothing if shift == 0. */ ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, args[1], zero); se->expr = fold_build3_loc (input_location, COND_EXPR, type, tmp, args[0], rrot); --- 5643,5654 ---- rrot = fold_build2_loc (input_location,RROTATE_EXPR, type, args[0], tmp); zero = build_int_cst (TREE_TYPE (args[1]), 0); ! tmp = fold_build2_loc (input_location, GT_EXPR, logical_type_node, args[1], zero); rrot = fold_build3_loc (input_location, COND_EXPR, type, tmp, lrot, rrot); /* Do nothing if shift == 0. */ ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, args[1], zero); se->expr = fold_build3_loc (input_location, COND_EXPR, type, tmp, args[0], rrot); *************** gfc_conv_intrinsic_leadz (gfc_se * se, g *** 5737,5743 **** fold_convert (arg_type, ullmax), ullsize); cond = fold_build2_loc (input_location, BIT_AND_EXPR, arg_type, arg, cond); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, cond, build_int_cst (arg_type, 0)); tmp1 = fold_build2_loc (input_location, RSHIFT_EXPR, arg_type, --- 5746,5752 ---- fold_convert (arg_type, ullmax), ullsize); cond = fold_build2_loc (input_location, BIT_AND_EXPR, arg_type, arg, cond); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, cond, build_int_cst (arg_type, 0)); tmp1 = fold_build2_loc (input_location, RSHIFT_EXPR, arg_type, *************** gfc_conv_intrinsic_leadz (gfc_se * se, g *** 5761,5767 **** /* Build BIT_SIZE. */ bit_size = build_int_cst (result_type, argsize); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg, build_int_cst (arg_type, 0)); se->expr = fold_build3_loc (input_location, COND_EXPR, result_type, cond, bit_size, leadz); --- 5770,5776 ---- /* Build BIT_SIZE. */ bit_size = build_int_cst (result_type, argsize); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg, build_int_cst (arg_type, 0)); se->expr = fold_build3_loc (input_location, COND_EXPR, result_type, cond, bit_size, leadz); *************** gfc_conv_intrinsic_trailz (gfc_se * se, *** 5846,5852 **** cond = fold_build2_loc (input_location, BIT_AND_EXPR, arg_type, arg, fold_convert (arg_type, ullmax)); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, cond, build_int_cst (arg_type, 0)); tmp1 = fold_build2_loc (input_location, RSHIFT_EXPR, arg_type, --- 5855,5861 ---- cond = fold_build2_loc (input_location, BIT_AND_EXPR, arg_type, arg, fold_convert (arg_type, ullmax)); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, cond, build_int_cst (arg_type, 0)); tmp1 = fold_build2_loc (input_location, RSHIFT_EXPR, arg_type, *************** gfc_conv_intrinsic_trailz (gfc_se * se, *** 5870,5876 **** /* Build BIT_SIZE. */ bit_size = build_int_cst (result_type, argsize); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg, build_int_cst (arg_type, 0)); se->expr = fold_build3_loc (input_location, COND_EXPR, result_type, cond, bit_size, trailz); --- 5879,5885 ---- /* Build BIT_SIZE. */ bit_size = build_int_cst (result_type, argsize); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg, build_int_cst (arg_type, 0)); se->expr = fold_build3_loc (input_location, COND_EXPR, result_type, cond, bit_size, trailz); *************** gfc_conv_intrinsic_mask (gfc_se * se, gf *** 6303,6309 **** /* Special case arg == 0, because SHIFT_EXPR wants a shift strictly smaller than type width. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg, build_int_cst (TREE_TYPE (arg), 0)); res = fold_build3_loc (input_location, COND_EXPR, utype, cond, build_int_cst (utype, 0), res); --- 6312,6318 ---- /* Special case arg == 0, because SHIFT_EXPR wants a shift strictly smaller than type width. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg, build_int_cst (TREE_TYPE (arg), 0)); res = fold_build3_loc (input_location, COND_EXPR, utype, cond, build_int_cst (utype, 0), res); *************** gfc_conv_intrinsic_mask (gfc_se * se, gf *** 6317,6323 **** /* Special case agr == bit_size, because SHIFT_EXPR wants a shift strictly smaller than type width. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg, bitsize); res = fold_build3_loc (input_location, COND_EXPR, utype, cond, allones, res); --- 6326,6332 ---- /* Special case agr == bit_size, because SHIFT_EXPR wants a shift strictly smaller than type width. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg, bitsize); res = fold_build3_loc (input_location, COND_EXPR, utype, cond, allones, res); *************** gfc_conv_intrinsic_spacing (gfc_se * se, *** 6438,6444 **** gfc_add_modify (&block, res, tmp); /* Finish by building the IF statement for value zero. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg, build_real_from_int_cst (type, integer_zero_node)); tmp = build3_v (COND_EXPR, cond, build2_v (MODIFY_EXPR, res, tiny), gfc_finish_block (&block)); --- 6447,6453 ---- gfc_add_modify (&block, res, tmp); /* Finish by building the IF statement for value zero. */ ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg, build_real_from_int_cst (type, integer_zero_node)); tmp = build3_v (COND_EXPR, cond, build2_v (MODIFY_EXPR, res, tiny), gfc_finish_block (&block)); *************** gfc_conv_intrinsic_rrspacing (gfc_se * s *** 6509,6515 **** stmt = gfc_finish_block (&block); /* if (x != 0) */ ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, x, build_real_from_int_cst (type, integer_zero_node)); tmp = build3_v (COND_EXPR, cond, stmt, build_empty_stmt (input_location)); --- 6518,6524 ---- stmt = gfc_finish_block (&block); /* if (x != 0) */ ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, x, build_real_from_int_cst (type, integer_zero_node)); tmp = build3_v (COND_EXPR, cond, stmt, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_size (gfc_se * se, gf *** 6639,6645 **** argse.data_not_needed = 1; gfc_conv_expr (&argse, actual->expr); gfc_add_block_to_block (&se->pre, &argse.pre); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, argse.expr, null_pointer_node); tmp = gfc_evaluate_now (tmp, &se->pre); se->expr = fold_build3_loc (input_location, COND_EXPR, --- 6648,6654 ---- argse.data_not_needed = 1; gfc_conv_expr (&argse, actual->expr); gfc_add_block_to_block (&se->pre, &argse.pre); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, argse.expr, null_pointer_node); tmp = gfc_evaluate_now (tmp, &se->pre); se->expr = fold_build3_loc (input_location, COND_EXPR, *************** gfc_conv_intrinsic_sizeof (gfc_se *se, g *** 6808,6814 **** } exit: */ gfc_start_block (&body); ! cond = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, loop_var, tmp); tmp = build1_v (GOTO_EXPR, exit_label); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, --- 6817,6823 ---- } exit: */ gfc_start_block (&body); ! cond = fold_build2_loc (input_location, GE_EXPR, logical_type_node, loop_var, tmp); tmp = build1_v (GOTO_EXPR, exit_label); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, *************** gfc_conv_intrinsic_transfer (gfc_se * se *** 7079,7085 **** /* Clean up if it was repacked. */ gfc_init_block (&block); tmp = gfc_conv_array_data (argse.expr); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, source, tmp); tmp = build3_v (COND_EXPR, tmp, stmt, build_empty_stmt (input_location)); --- 7088,7094 ---- /* Clean up if it was repacked. */ gfc_init_block (&block); tmp = gfc_conv_array_data (argse.expr); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, source, tmp); tmp = build3_v (COND_EXPR, tmp, stmt, build_empty_stmt (input_location)); *************** scalar_transfer: *** 7304,7317 **** indirect = gfc_finish_block (&block); /* Wrap it up with the condition. */ ! tmp = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, dest_word_len, source_bytes); tmp = build3_v (COND_EXPR, tmp, direct, indirect); gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary string, if necessary. */ free = gfc_call_free (tmpdecl); ! tmp = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, dest_word_len, source_bytes); tmp = build3_v (COND_EXPR, tmp, free, build_empty_stmt (input_location)); gfc_add_expr_to_block (&se->post, tmp); --- 7313,7326 ---- indirect = gfc_finish_block (&block); /* Wrap it up with the condition. */ ! tmp = fold_build2_loc (input_location, LE_EXPR, logical_type_node, dest_word_len, source_bytes); tmp = build3_v (COND_EXPR, tmp, direct, indirect); gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary string, if necessary. */ free = gfc_call_free (tmpdecl); ! tmp = fold_build2_loc (input_location, GT_EXPR, logical_type_node, dest_word_len, source_bytes); tmp = build3_v (COND_EXPR, tmp, free, build_empty_stmt (input_location)); gfc_add_expr_to_block (&se->post, tmp); *************** gfc_conv_allocated (gfc_se *se, gfc_expr *** 7453,7459 **** tmp = gfc_conv_descriptor_data_get (arg1se.expr); } ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); } se->expr = convert (gfc_typenode_for_spec (&expr->ts), tmp); --- 7462,7468 ---- tmp = gfc_conv_descriptor_data_get (arg1se.expr); } ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); } se->expr = convert (gfc_typenode_for_spec (&expr->ts), tmp); *************** gfc_conv_associated (gfc_se *se, gfc_exp *** 7521,7527 **** } gfc_add_block_to_block (&se->pre, &arg1se.pre); gfc_add_block_to_block (&se->post, &arg1se.post); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp2, fold_convert (TREE_TYPE (tmp2), null_pointer_node)); se->expr = tmp; } --- 7530,7536 ---- } gfc_add_block_to_block (&se->pre, &arg1se.pre); gfc_add_block_to_block (&se->post, &arg1se.post); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp2, fold_convert (TREE_TYPE (tmp2), null_pointer_node)); se->expr = tmp; } *************** gfc_conv_associated (gfc_se *se, gfc_exp *** 7534,7540 **** nonzero_charlen = NULL_TREE; if (arg1->expr->ts.type == BT_CHARACTER) nonzero_charlen = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, arg1->expr->ts.u.cl->backend_decl, integer_zero_node); if (scalar) --- 7543,7549 ---- nonzero_charlen = NULL_TREE; if (arg1->expr->ts.type == BT_CHARACTER) nonzero_charlen = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, arg1->expr->ts.u.cl->backend_decl, integer_zero_node); if (scalar) *************** gfc_conv_associated (gfc_se *se, gfc_exp *** 7559,7570 **** gfc_add_block_to_block (&se->post, &arg1se.post); gfc_add_block_to_block (&se->pre, &arg2se.pre); gfc_add_block_to_block (&se->post, &arg2se.post); ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg1se.expr, arg2se.expr); ! tmp2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, arg1se.expr, null_pointer_node); se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, tmp, tmp2); } else { --- 7568,7579 ---- gfc_add_block_to_block (&se->post, &arg1se.post); gfc_add_block_to_block (&se->pre, &arg2se.pre); gfc_add_block_to_block (&se->post, &arg2se.post); ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg1se.expr, arg2se.expr); ! tmp2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, arg1se.expr, null_pointer_node); se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, tmp, tmp2); } else { *************** gfc_conv_associated (gfc_se *se, gfc_exp *** 7582,7588 **** tmp = gfc_rank_cst[arg1->expr->rank - 1]; tmp = gfc_conv_descriptor_stride_get (arg1se.expr, tmp); nonzero_arraylen = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); /* A pointer to an array, call library function _gfor_associated. */ --- 7591,7597 ---- tmp = gfc_rank_cst[arg1->expr->rank - 1]; tmp = gfc_conv_descriptor_stride_get (arg1se.expr, tmp); nonzero_arraylen = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); /* A pointer to an array, call library function _gfor_associated. */ *************** gfc_conv_associated (gfc_se *se, gfc_exp *** 7596,7604 **** se->expr = build_call_expr_loc (input_location, gfor_fndecl_associated, 2, arg1se.expr, arg2se.expr); ! se->expr = convert (boolean_type_node, se->expr); se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, se->expr, nonzero_arraylen); } --- 7605,7613 ---- se->expr = build_call_expr_loc (input_location, gfor_fndecl_associated, 2, arg1se.expr, arg2se.expr); ! se->expr = convert (logical_type_node, se->expr); se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, se->expr, nonzero_arraylen); } *************** gfc_conv_associated (gfc_se *se, gfc_exp *** 7606,7612 **** be associated. */ if (nonzero_charlen != NULL_TREE) se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, se->expr, nonzero_charlen); } --- 7615,7621 ---- be associated. */ if (nonzero_charlen != NULL_TREE) se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, se->expr, nonzero_charlen); } *************** gfc_conv_same_type_as (gfc_se *se, gfc_e *** 7634,7647 **** if (UNLIMITED_POLY (a)) { tmp = gfc_class_vptr_get (a->symtree->n.sym->backend_decl); ! conda = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); } if (UNLIMITED_POLY (b)) { tmp = gfc_class_vptr_get (b->symtree->n.sym->backend_decl); ! condb = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); } --- 7643,7656 ---- if (UNLIMITED_POLY (a)) { tmp = gfc_class_vptr_get (a->symtree->n.sym->backend_decl); ! conda = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); } if (UNLIMITED_POLY (b)) { tmp = gfc_class_vptr_get (b->symtree->n.sym->backend_decl); ! condb = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); } *************** gfc_conv_same_type_as (gfc_se *se, gfc_e *** 7667,7682 **** gfc_conv_expr (&se2, b); tmp = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, se1.expr, fold_convert (TREE_TYPE (se1.expr), se2.expr)); if (conda) tmp = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! boolean_type_node, conda, tmp); if (condb) tmp = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! boolean_type_node, condb, tmp); se->expr = convert (gfc_typenode_for_spec (&expr->ts), tmp); } --- 7676,7691 ---- gfc_conv_expr (&se2, b); tmp = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, se1.expr, fold_convert (TREE_TYPE (se1.expr), se2.expr)); if (conda) tmp = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! logical_type_node, conda, tmp); if (condb) tmp = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! logical_type_node, condb, tmp); se->expr = convert (gfc_typenode_for_spec (&expr->ts), tmp); } *************** gfc_conv_intrinsic_trim (gfc_se * se, gf *** 7802,7808 **** gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); --- 7811,7817 ---- gfc_add_expr_to_block (&se->pre, tmp); /* Free the temporary afterwards, if necessary. */ ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, len, build_int_cst (TREE_TYPE (len), 0)); tmp = gfc_call_free (var); tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location)); *************** gfc_conv_intrinsic_repeat (gfc_se * se, *** 7836,7842 **** ncopies_type = TREE_TYPE (ncopies); /* Check that NCOPIES is not negative. */ ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, ncopies, build_int_cst (ncopies_type, 0)); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, "Argument NCOPIES of REPEAT intrinsic is negative " --- 7845,7851 ---- ncopies_type = TREE_TYPE (ncopies); /* Check that NCOPIES is not negative. */ ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, ncopies, build_int_cst (ncopies_type, 0)); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, "Argument NCOPIES of REPEAT intrinsic is negative " *************** gfc_conv_intrinsic_repeat (gfc_se * se, *** 7846,7852 **** /* If the source length is zero, any non negative value of NCOPIES is valid, and nothing happens. */ n = gfc_create_var (ncopies_type, "ncopies"); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, slen, build_int_cst (size_type_node, 0)); tmp = fold_build3_loc (input_location, COND_EXPR, ncopies_type, cond, build_int_cst (ncopies_type, 0), ncopies); --- 7855,7861 ---- /* If the source length is zero, any non negative value of NCOPIES is valid, and nothing happens. */ n = gfc_create_var (ncopies_type, "ncopies"); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, slen, build_int_cst (size_type_node, 0)); tmp = fold_build3_loc (input_location, COND_EXPR, ncopies_type, cond, build_int_cst (ncopies_type, 0), ncopies); *************** gfc_conv_intrinsic_repeat (gfc_se * se, *** 7863,7875 **** fold_convert (size_type_node, max), slen); largest = TYPE_PRECISION (size_type_node) > TYPE_PRECISION (ncopies_type) ? size_type_node : ncopies_type; ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, fold_convert (largest, ncopies), fold_convert (largest, max)); ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, slen, build_int_cst (size_type_node, 0)); ! cond = fold_build3_loc (input_location, COND_EXPR, boolean_type_node, tmp, ! boolean_false_node, cond); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, "Argument NCOPIES of REPEAT intrinsic is too large"); --- 7872,7884 ---- fold_convert (size_type_node, max), slen); largest = TYPE_PRECISION (size_type_node) > TYPE_PRECISION (ncopies_type) ? size_type_node : ncopies_type; ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, fold_convert (largest, ncopies), fold_convert (largest, max)); ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, slen, build_int_cst (size_type_node, 0)); ! cond = fold_build3_loc (input_location, COND_EXPR, logical_type_node, tmp, ! logical_false_node, cond); gfc_trans_runtime_check (true, false, cond, &se->pre, &expr->where, "Argument NCOPIES of REPEAT intrinsic is too large"); *************** gfc_conv_intrinsic_repeat (gfc_se * se, *** 7892,7898 **** gfc_start_block (&body); /* Exit the loop if count >= ncopies. */ ! cond = fold_build2_loc (input_location, GE_EXPR, boolean_type_node, count, ncopies); tmp = build1_v (GOTO_EXPR, exit_label); TREE_USED (exit_label) = 1; --- 7901,7907 ---- gfc_start_block (&body); /* Exit the loop if count >= ncopies. */ ! cond = fold_build2_loc (input_location, GE_EXPR, logical_type_node, count, ncopies); tmp = build1_v (GOTO_EXPR, exit_label); TREE_USED (exit_label) = 1; *************** conv_isocbinding_function (gfc_se *se, g *** 8041,8047 **** if (arg->next->expr == NULL) /* Only given one arg so generate a null and do a not-equal comparison against the first arg. */ ! se->expr = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, arg1se.expr, fold_convert (TREE_TYPE (arg1se.expr), null_pointer_node)); --- 8050,8056 ---- if (arg->next->expr == NULL) /* Only given one arg so generate a null and do a not-equal comparison against the first arg. */ ! se->expr = fold_build2_loc (input_location, NE_EXPR, logical_type_node, arg1se.expr, fold_convert (TREE_TYPE (arg1se.expr), null_pointer_node)); *************** conv_isocbinding_function (gfc_se *se, g *** 8057,8073 **** gfc_add_block_to_block (&se->post, &arg2se.post); /* Generate test to compare that the two args are equal. */ ! eq_expr = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg1se.expr, arg2se.expr); /* Generate test to ensure that the first arg is not null. */ not_null_expr = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, arg1se.expr, null_pointer_node); /* Finally, the generated test must check that both arg1 is not NULL and that it is equal to the second arg. */ se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, not_null_expr, eq_expr); } } --- 8066,8082 ---- gfc_add_block_to_block (&se->post, &arg2se.post); /* Generate test to compare that the two args are equal. */ ! eq_expr = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg1se.expr, arg2se.expr); /* Generate test to ensure that the first arg is not null. */ not_null_expr = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, arg1se.expr, null_pointer_node); /* Finally, the generated test must check that both arg1 is not NULL and that it is equal to the second arg. */ se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, not_null_expr, eq_expr); } } *************** conv_intrinsic_ieee_is_normal (gfc_se * *** 8292,8302 **** isnormal = build_call_expr_loc (input_location, builtin_decl_explicit (BUILT_IN_ISNORMAL), 1, arg); ! iszero = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, arg, build_real_from_int_cst (TREE_TYPE (arg), integer_zero_node)); se->expr = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, isnormal, iszero); se->expr = fold_convert (gfc_typenode_for_spec (&expr->ts), se->expr); } --- 8301,8311 ---- isnormal = build_call_expr_loc (input_location, builtin_decl_explicit (BUILT_IN_ISNORMAL), 1, arg); ! iszero = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, arg, build_real_from_int_cst (TREE_TYPE (arg), integer_zero_node)); se->expr = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, isnormal, iszero); se->expr = fold_convert (gfc_typenode_for_spec (&expr->ts), se->expr); } *************** conv_intrinsic_ieee_is_negative (gfc_se *** 8321,8331 **** signbit = build_call_expr_loc (input_location, builtin_decl_explicit (BUILT_IN_SIGNBIT), 1, arg); ! signbit = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, signbit, integer_zero_node); se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! boolean_type_node, signbit, fold_build1_loc (input_location, TRUTH_NOT_EXPR, TREE_TYPE(isnan), isnan)); --- 8330,8340 ---- signbit = build_call_expr_loc (input_location, builtin_decl_explicit (BUILT_IN_SIGNBIT), 1, arg); ! signbit = fold_build2_loc (input_location, NE_EXPR, logical_type_node, signbit, integer_zero_node); se->expr = fold_build2_loc (input_location, TRUTH_AND_EXPR, ! logical_type_node, signbit, fold_build1_loc (input_location, TRUTH_NOT_EXPR, TREE_TYPE(isnan), isnan)); *************** conv_intrinsic_ieee_copy_sign (gfc_se * *** 8471,8477 **** sign = build_call_expr_loc (input_location, builtin_decl_explicit (BUILT_IN_SIGNBIT), 1, args[1]); ! sign = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, sign, integer_zero_node); /* Create a value of one, with the right sign. */ --- 8480,8486 ---- sign = build_call_expr_loc (input_location, builtin_decl_explicit (BUILT_IN_SIGNBIT), 1, args[1]); ! sign = fold_build2_loc (input_location, NE_EXPR, logical_type_node, sign, integer_zero_node); /* Create a value of one, with the right sign. */ *************** conv_intrinsic_move_alloc (gfc_code *cod *** 10537,10543 **** tmp = gfc_conv_descriptor_data_get (to_se.expr); cond = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_sync_all, --- 10546,10552 ---- tmp = gfc_conv_descriptor_data_get (to_se.expr); cond = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_sync_all, diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-io.c gcc-7.3.0/gcc/fortran/trans-io.c *** gcc-7.2.0/gcc/fortran/trans-io.c Tue May 23 22:05:56 2017 --- gcc-7.3.0/gcc/fortran/trans-io.c Mon Nov 13 20:01:20 2017 *************** set_parameter_value_chk (stmtblock_t *bl *** 581,587 **** /* UNIT numbers should be greater than the min. */ i = gfc_validate_kind (BT_INTEGER, 4, false); val = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].pedantic_min_int, 4); ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), val)); gfc_trans_io_runtime_check (has_iostat, cond, var, LIBERROR_BAD_UNIT, --- 581,587 ---- /* UNIT numbers should be greater than the min. */ i = gfc_validate_kind (BT_INTEGER, 4, false); val = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].pedantic_min_int, 4); ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), val)); gfc_trans_io_runtime_check (has_iostat, cond, var, LIBERROR_BAD_UNIT, *************** set_parameter_value_chk (stmtblock_t *bl *** 590,596 **** /* UNIT numbers should be less than the max. */ val = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].huge, 4); ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), val)); gfc_trans_io_runtime_check (has_iostat, cond, var, LIBERROR_BAD_UNIT, --- 590,596 ---- /* UNIT numbers should be less than the max. */ val = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].huge, 4); ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), val)); gfc_trans_io_runtime_check (has_iostat, cond, var, LIBERROR_BAD_UNIT, *************** set_parameter_value_inquire (stmtblock_t *** 641,657 **** /* UNIT numbers should be greater than zero. */ i = gfc_validate_kind (BT_INTEGER, 4, false); ! cond1 = build2_loc (input_location, LT_EXPR, boolean_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), integer_zero_node)); /* UNIT numbers should be less than the max. */ val = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].huge, 4); ! cond2 = build2_loc (input_location, GT_EXPR, boolean_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), val)); cond3 = build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond1, cond2); gfc_start_block (&newblock); --- 641,657 ---- /* UNIT numbers should be greater than zero. */ i = gfc_validate_kind (BT_INTEGER, 4, false); ! cond1 = build2_loc (input_location, LT_EXPR, logical_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), integer_zero_node)); /* UNIT numbers should be less than the max. */ val = gfc_conv_mpz_to_tree (gfc_integer_kinds[i].huge, 4); ! cond2 = build2_loc (input_location, GT_EXPR, logical_type_node, se.expr, fold_convert (TREE_TYPE (se.expr), val)); cond3 = build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond1, cond2); gfc_start_block (&newblock); *************** set_string (stmtblock_t * block, stmtblo *** 826,832 **** gfc_conv_label_variable (&se, e); tmp = GFC_DECL_STRING_LEN (se.expr); ! cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); msg = xasprintf ("Label assigned to variable '%s' (%%ld) is not a format " --- 826,832 ---- gfc_conv_label_variable (&se, e); tmp = GFC_DECL_STRING_LEN (se.expr); ! cond = fold_build2_loc (input_location, LT_EXPR, logical_type_node, tmp, build_int_cst (TREE_TYPE (tmp), 0)); msg = xasprintf ("Label assigned to variable '%s' (%%ld) is not a format " *************** get_dtio_proc (gfc_typespec * ts, gfc_co *** 2214,2231 **** bool formatted = false; gfc_dt *dt = code->ext.dt; ! if (dt && dt->format_expr) { ! char *fmt; ! fmt = gfc_widechar_to_char (dt->format_expr->value.character.string, ! -1); ! if (strtok (fmt, "DT") != NULL) formatted = true; ! } ! else if (dt && dt->format_label == &format_asterisk) ! { ! /* List directed io must call the formatted DTIO procedure. */ ! formatted = true; } if (ts->type == BT_CLASS) --- 2214,2237 ---- bool formatted = false; gfc_dt *dt = code->ext.dt; ! if (dt) { ! char *fmt = NULL; ! ! if (dt->format_label == &format_asterisk) ! { ! /* List directed io must call the formatted DTIO procedure. */ ! formatted = true; ! } ! else if (dt->format_expr) ! fmt = gfc_widechar_to_char (dt->format_expr->value.character.string, ! -1); ! else if (dt->format_label) ! fmt = gfc_widechar_to_char (dt->format_label->format->value.character.string, ! -1); ! if (fmt && strtok (fmt, "DT") != NULL) formatted = true; ! } if (ts->type == BT_CLASS) diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-openmp.c gcc-7.3.0/gcc/fortran/trans-openmp.c *** gcc-7.2.0/gcc/fortran/trans-openmp.c Thu Feb 9 13:46:20 2017 --- gcc-7.3.0/gcc/fortran/trans-openmp.c Fri Dec 15 22:00:48 2017 *************** gfc_walk_alloc_comps (tree decl, tree de *** 413,419 **** { tem = fold_convert (pvoid_type_node, tem); tem = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tem, null_pointer_node); then_b = build3_loc (input_location, COND_EXPR, void_type_node, tem, then_b, --- 413,419 ---- { tem = fold_convert (pvoid_type_node, tem); tem = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tem, null_pointer_node); then_b = build3_loc (input_location, COND_EXPR, void_type_node, tem, then_b, *************** gfc_omp_clause_default_ctor (tree clause *** 540,546 **** GFC_DESCRIPTOR_TYPE_P (type) ? gfc_conv_descriptor_data_get (outer) : outer); tem = unshare_expr (tem); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tem, null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, --- 540,546 ---- GFC_DESCRIPTOR_TYPE_P (type) ? gfc_conv_descriptor_data_get (outer) : outer); tem = unshare_expr (tem); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tem, null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, *************** gfc_omp_clause_copy_ctor (tree clause, t *** 646,652 **** build_zero_cst (TREE_TYPE (dest))); else_b = gfc_finish_block (&cond_block); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, unshare_expr (srcptr), null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, --- 646,652 ---- build_zero_cst (TREE_TYPE (dest))); else_b = gfc_finish_block (&cond_block); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, unshare_expr (srcptr), null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, *************** gfc_omp_clause_assign_op (tree clause, t *** 699,705 **** GFC_DESCRIPTOR_TYPE_P (type) ? gfc_conv_descriptor_data_get (dest) : dest); tem = unshare_expr (tem); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tem, null_pointer_node); tem = build3_loc (input_location, COND_EXPR, void_type_node, cond, then_b, build_empty_stmt (input_location)); --- 699,705 ---- GFC_DESCRIPTOR_TYPE_P (type) ? gfc_conv_descriptor_data_get (dest) : dest); tem = unshare_expr (tem); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tem, null_pointer_node); tem = build3_loc (input_location, COND_EXPR, void_type_node, cond, then_b, build_empty_stmt (input_location)); *************** gfc_omp_clause_assign_op (tree clause, t *** 739,745 **** destptr = fold_convert (pvoid_type_node, destptr); gfc_add_modify (&cond_block, ptr, destptr); ! nonalloc = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, destptr, null_pointer_node); cond = nonalloc; if (GFC_DESCRIPTOR_TYPE_P (type)) --- 739,745 ---- destptr = fold_convert (pvoid_type_node, destptr); gfc_add_modify (&cond_block, ptr, destptr); ! nonalloc = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, destptr, null_pointer_node); cond = nonalloc; if (GFC_DESCRIPTOR_TYPE_P (type)) *************** gfc_omp_clause_assign_op (tree clause, t *** 755,765 **** tem = fold_build2_loc (input_location, PLUS_EXPR, gfc_array_index_type, tem, gfc_conv_descriptor_lbound_get (dest, rank)); ! tem = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tem, gfc_conv_descriptor_ubound_get (dest, rank)); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! boolean_type_node, cond, tem); } } --- 755,765 ---- tem = fold_build2_loc (input_location, PLUS_EXPR, gfc_array_index_type, tem, gfc_conv_descriptor_lbound_get (dest, rank)); ! tem = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tem, gfc_conv_descriptor_ubound_get (dest, rank)); cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR, ! logical_type_node, cond, tem); } } *************** gfc_omp_clause_assign_op (tree clause, t *** 835,841 **** } else_b = gfc_finish_block (&cond_block); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, unshare_expr (srcptr), null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, --- 835,841 ---- } else_b = gfc_finish_block (&cond_block); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, unshare_expr (srcptr), null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, *************** gfc_omp_clause_dtor (tree clause, tree d *** 1028,1034 **** GFC_DESCRIPTOR_TYPE_P (type) ? gfc_conv_descriptor_data_get (decl) : decl); tem = unshare_expr (tem); ! tree cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tem, null_pointer_node); tem = build3_loc (input_location, COND_EXPR, void_type_node, cond, then_b, build_empty_stmt (input_location)); --- 1028,1034 ---- GFC_DESCRIPTOR_TYPE_P (type) ? gfc_conv_descriptor_data_get (decl) : decl); tem = unshare_expr (tem); ! tree cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tem, null_pointer_node); tem = build3_loc (input_location, COND_EXPR, void_type_node, cond, then_b, build_empty_stmt (input_location)); *************** gfc_omp_finish_clause (tree c, gimple_se *** 1129,1135 **** tem = gfc_conv_descriptor_data_get (decl); tem = fold_convert (pvoid_type_node, tem); cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tem, null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, void_type_node, cond, then_b, else_b)); --- 1129,1135 ---- tem = gfc_conv_descriptor_data_get (decl); tem = fold_convert (pvoid_type_node, tem); cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tem, null_pointer_node); gfc_add_expr_to_block (&block, build3_loc (input_location, COND_EXPR, void_type_node, cond, then_b, else_b)); *************** gfc_trans_omp_array_reduction_or_udr (tr *** 1623,1628 **** --- 1623,1629 ---- intrinsic_sym.attr.referenced = 1; intrinsic_sym.attr.intrinsic = 1; intrinsic_sym.attr.function = 1; + intrinsic_sym.attr.implicit_type = 1; intrinsic_sym.result = &intrinsic_sym; intrinsic_sym.declared_at = where; *************** gfc_trans_omp_clauses (stmtblock_t *bloc *** 2155,2161 **** tem = gfc_conv_descriptor_data_get (decl); tem = fold_convert (pvoid_type_node, tem); cond = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, tem, null_pointer_node); gfc_add_expr_to_block (block, build3_loc (input_location, --- 2156,2162 ---- tem = gfc_conv_descriptor_data_get (decl); tem = fold_convert (pvoid_type_node, tem); cond = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, tem, null_pointer_node); gfc_add_expr_to_block (block, build3_loc (input_location, *************** gfc_trans_omp_do (gfc_code *code, gfc_ex *** 3596,3602 **** /* The condition should not be folded. */ TREE_VEC_ELT (cond, i) = build2_loc (input_location, simple > 0 ? LE_EXPR : GE_EXPR, ! boolean_type_node, dovar, to); TREE_VEC_ELT (incr, i) = fold_build2_loc (input_location, PLUS_EXPR, type, dovar, step); TREE_VEC_ELT (incr, i) = fold_build2_loc (input_location, --- 3597,3603 ---- /* The condition should not be folded. */ TREE_VEC_ELT (cond, i) = build2_loc (input_location, simple > 0 ? LE_EXPR : GE_EXPR, ! logical_type_node, dovar, to); TREE_VEC_ELT (incr, i) = fold_build2_loc (input_location, PLUS_EXPR, type, dovar, step); TREE_VEC_ELT (incr, i) = fold_build2_loc (input_location, *************** gfc_trans_omp_do (gfc_code *code, gfc_ex *** 3623,3629 **** build_int_cst (type, 0)); /* The condition should not be folded. */ TREE_VEC_ELT (cond, i) = build2_loc (input_location, LT_EXPR, ! boolean_type_node, count, tmp); TREE_VEC_ELT (incr, i) = fold_build2_loc (input_location, PLUS_EXPR, type, count, --- 3624,3630 ---- build_int_cst (type, 0)); /* The condition should not be folded. */ TREE_VEC_ELT (cond, i) = build2_loc (input_location, LT_EXPR, ! logical_type_node, count, tmp); TREE_VEC_ELT (incr, i) = fold_build2_loc (input_location, PLUS_EXPR, type, count, diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-stmt.c gcc-7.3.0/gcc/fortran/trans-stmt.c *** gcc-7.2.0/gcc/fortran/trans-stmt.c Sun Mar 5 11:35:47 2017 --- gcc-7.3.0/gcc/fortran/trans-stmt.c Thu Nov 23 21:02:48 2017 *************** gfc_trans_goto (gfc_code * code) *** 150,156 **** gfc_start_block (&se.pre); gfc_conv_label_variable (&se, code->expr1); tmp = GFC_DECL_STRING_LEN (se.expr); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, build_int_cst (TREE_TYPE (tmp), -1)); gfc_trans_runtime_check (true, false, tmp, &se.pre, &loc, "Assigned label is not a target label"); --- 150,156 ---- gfc_start_block (&se.pre); gfc_conv_label_variable (&se, code->expr1); tmp = GFC_DECL_STRING_LEN (se.expr); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, build_int_cst (TREE_TYPE (tmp), -1)); gfc_trans_runtime_check (true, false, tmp, &se.pre, &loc, "Assigned label is not a target label"); *************** gfc_trans_call (gfc_code * code, bool de *** 452,458 **** subscripts. This could be prevented in the elemental case as temporaries are handled separatedly (below in gfc_conv_elemental_dependencies). */ ! gfc_conv_loop_setup (&loop, &code->expr1->where); gfc_mark_ss_chain_used (ss, 1); /* Convert the arguments, checking for dependencies. */ --- 452,461 ---- subscripts. This could be prevented in the elemental case as temporaries are handled separatedly (below in gfc_conv_elemental_dependencies). */ ! if (code->expr1) ! gfc_conv_loop_setup (&loop, &code->expr1->where); ! else ! gfc_conv_loop_setup (&loop, &code->loc); gfc_mark_ss_chain_used (ss, 1); /* Convert the arguments, checking for dependencies. */ *************** gfc_trans_sync (gfc_code *code, gfc_exec *** 1103,1109 **** { tree cond; if (flag_coarray != GFC_FCOARRAY_LIB) ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, images, build_int_cst (TREE_TYPE (images), 1)); else { --- 1106,1112 ---- { tree cond; if (flag_coarray != GFC_FCOARRAY_LIB) ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, images, build_int_cst (TREE_TYPE (images), 1)); else { *************** gfc_trans_sync (gfc_code *code, gfc_exec *** 1111,1123 **** tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_num_images, 2, integer_zero_node, build_int_cst (integer_type_node, -1)); ! cond = fold_build2_loc (input_location, GT_EXPR, boolean_type_node, images, tmp); ! cond2 = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, images, build_int_cst (TREE_TYPE (images), 1)); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! boolean_type_node, cond, cond2); } gfc_trans_runtime_check (true, false, cond, &se.pre, &code->expr1->where, "Invalid image number " --- 1114,1126 ---- tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_num_images, 2, integer_zero_node, build_int_cst (integer_type_node, -1)); ! cond = fold_build2_loc (input_location, GT_EXPR, logical_type_node, images, tmp); ! cond2 = fold_build2_loc (input_location, LT_EXPR, logical_type_node, images, build_int_cst (TREE_TYPE (images), 1)); cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ! logical_type_node, cond, cond2); } gfc_trans_runtime_check (true, false, cond, &se.pre, &code->expr1->where, "Invalid image number " *************** gfc_trans_arithmetic_if (gfc_code * code *** 1409,1418 **** branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label2)); if (code->label1->value != code->label3->value) ! tmp = fold_build2_loc (input_location, LT_EXPR, boolean_type_node, se.expr, zero); else ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, se.expr, zero); branch1 = fold_build3_loc (input_location, COND_EXPR, void_type_node, --- 1412,1421 ---- branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label2)); if (code->label1->value != code->label3->value) ! tmp = fold_build2_loc (input_location, LT_EXPR, logical_type_node, se.expr, zero); else ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, se.expr, zero); branch1 = fold_build3_loc (input_location, COND_EXPR, void_type_node, *************** gfc_trans_arithmetic_if (gfc_code * code *** 1426,1432 **** { /* if (cond <= 0) take branch1 else take branch2. */ branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label3)); ! tmp = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, se.expr, zero); branch1 = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, branch1, branch2); --- 1429,1435 ---- { /* if (cond <= 0) take branch1 else take branch2. */ branch2 = build1_v (GOTO_EXPR, gfc_get_label_decl (code->label3)); ! tmp = fold_build2_loc (input_location, LE_EXPR, logical_type_node, se.expr, zero); branch1 = fold_build3_loc (input_location, COND_EXPR, void_type_node, tmp, branch1, branch2); *************** trans_associate_var (gfc_symbol *sym, gf *** 1771,1776 **** --- 1774,1786 ---- gcc_assert (!e->symtree->n.sym->ts.deferred); tmp = e->symtree->n.sym->ts.u.cl->backend_decl; } + else if (e->expr_type == EXPR_VARIABLE + && e->symtree->n.sym->attr.function + && e->symtree->n.sym == e->symtree->n.sym->result) + { + tmp = gfc_get_fake_result_decl (e->symtree->n.sym, 0); + tmp = gfc_class_len_get (tmp); + } else tmp = gfc_class_len_get (gfc_get_symbol_decl (e->symtree->n.sym)); gfc_get_symbol_decl (sym); *************** gfc_trans_simple_do (gfc_code * code, st *** 1910,1919 **** /* Evaluate the loop condition. */ if (is_step_positive) ! cond = fold_build2_loc (loc, GT_EXPR, boolean_type_node, dovar, fold_convert (type, to)); else ! cond = fold_build2_loc (loc, LT_EXPR, boolean_type_node, dovar, fold_convert (type, to)); cond = gfc_evaluate_now_loc (loc, cond, &body); --- 1920,1929 ---- /* Evaluate the loop condition. */ if (is_step_positive) ! cond = fold_build2_loc (loc, GT_EXPR, logical_type_node, dovar, fold_convert (type, to)); else ! cond = fold_build2_loc (loc, LT_EXPR, logical_type_node, dovar, fold_convert (type, to)); cond = gfc_evaluate_now_loc (loc, cond, &body); *************** gfc_trans_simple_do (gfc_code * code, st *** 1932,1938 **** tree boundary = is_step_positive ? TYPE_MAX_VALUE (type) : TYPE_MIN_VALUE (type); ! tmp = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, dovar, boundary); gfc_trans_runtime_check (true, false, tmp, &body, &code->loc, "Loop iterates infinitely"); --- 1942,1948 ---- tree boundary = is_step_positive ? TYPE_MAX_VALUE (type) : TYPE_MIN_VALUE (type); ! tmp = fold_build2_loc (loc, EQ_EXPR, logical_type_node, dovar, boundary); gfc_trans_runtime_check (true, false, tmp, &body, &code->loc, "Loop iterates infinitely"); *************** gfc_trans_simple_do (gfc_code * code, st *** 1952,1958 **** /* Check whether someone has modified the loop variable. */ if (gfc_option.rtcheck & GFC_RTCHECK_DO) { ! tmp = fold_build2_loc (loc, NE_EXPR, boolean_type_node, dovar, saved_dovar); gfc_trans_runtime_check (true, false, tmp, &body, &code->loc, "Loop variable has been modified"); --- 1962,1968 ---- /* Check whether someone has modified the loop variable. */ if (gfc_option.rtcheck & GFC_RTCHECK_DO) { ! tmp = fold_build2_loc (loc, NE_EXPR, logical_type_node, dovar, saved_dovar); gfc_trans_runtime_check (true, false, tmp, &body, &code->loc, "Loop variable has been modified"); *************** gfc_trans_do (gfc_code * code, tree exit *** 2061,2067 **** if (gfc_option.rtcheck & GFC_RTCHECK_DO) { ! tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, step, build_zero_cst (type)); gfc_trans_runtime_check (true, false, tmp, &block, &code->loc, "DO step value is zero"); --- 2071,2077 ---- if (gfc_option.rtcheck & GFC_RTCHECK_DO) { ! tmp = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, step, build_zero_cst (type)); gfc_trans_runtime_check (true, false, tmp, &block, &code->loc, "DO step value is zero"); *************** gfc_trans_do (gfc_code * code, tree exit *** 2128,2134 **** /* For a positive step, when to < from, exit, otherwise compute countm1 = ((unsigned)to - (unsigned)from) / (unsigned)step */ ! tmp = fold_build2_loc (loc, LT_EXPR, boolean_type_node, to, from); tmp2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, utype, fold_build2_loc (loc, MINUS_EXPR, utype, tou, fromu), --- 2138,2144 ---- /* For a positive step, when to < from, exit, otherwise compute countm1 = ((unsigned)to - (unsigned)from) / (unsigned)step */ ! tmp = fold_build2_loc (loc, LT_EXPR, logical_type_node, to, from); tmp2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, utype, fold_build2_loc (loc, MINUS_EXPR, utype, tou, fromu), *************** gfc_trans_do (gfc_code * code, tree exit *** 2143,2149 **** /* For a negative step, when to > from, exit, otherwise compute countm1 = ((unsigned)from - (unsigned)to) / -(unsigned)step */ ! tmp = fold_build2_loc (loc, GT_EXPR, boolean_type_node, to, from); tmp2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, utype, fold_build2_loc (loc, MINUS_EXPR, utype, fromu, tou), --- 2153,2159 ---- /* For a negative step, when to > from, exit, otherwise compute countm1 = ((unsigned)from - (unsigned)to) / -(unsigned)step */ ! tmp = fold_build2_loc (loc, GT_EXPR, logical_type_node, to, from); tmp2 = fold_build2_loc (loc, TRUNC_DIV_EXPR, utype, fold_build2_loc (loc, MINUS_EXPR, utype, fromu, tou), *************** gfc_trans_do (gfc_code * code, tree exit *** 2156,2162 **** build1_loc (loc, GOTO_EXPR, void_type_node, exit_label), NULL_TREE)); ! tmp = fold_build2_loc (loc, LT_EXPR, boolean_type_node, step, build_int_cst (TREE_TYPE (step), 0)); tmp = fold_build3_loc (loc, COND_EXPR, void_type_node, tmp, neg, pos); --- 2166,2172 ---- build1_loc (loc, GOTO_EXPR, void_type_node, exit_label), NULL_TREE)); ! tmp = fold_build2_loc (loc, LT_EXPR, logical_type_node, step, build_int_cst (TREE_TYPE (step), 0)); tmp = fold_build3_loc (loc, COND_EXPR, void_type_node, tmp, neg, pos); *************** gfc_trans_do (gfc_code * code, tree exit *** 2177,2189 **** /* We need a special check for empty loops: empty = (step > 0 ? to < from : to > from); */ ! pos_step = fold_build2_loc (loc, GT_EXPR, boolean_type_node, step, build_zero_cst (type)); ! tmp = fold_build3_loc (loc, COND_EXPR, boolean_type_node, pos_step, fold_build2_loc (loc, LT_EXPR, ! boolean_type_node, to, from), fold_build2_loc (loc, GT_EXPR, ! boolean_type_node, to, from)); /* If the loop is empty, go directly to the exit label. */ tmp = fold_build3_loc (loc, COND_EXPR, void_type_node, tmp, build1_v (GOTO_EXPR, exit_label), --- 2187,2199 ---- /* We need a special check for empty loops: empty = (step > 0 ? to < from : to > from); */ ! pos_step = fold_build2_loc (loc, GT_EXPR, logical_type_node, step, build_zero_cst (type)); ! tmp = fold_build3_loc (loc, COND_EXPR, logical_type_node, pos_step, fold_build2_loc (loc, LT_EXPR, ! logical_type_node, to, from), fold_build2_loc (loc, GT_EXPR, ! logical_type_node, to, from)); /* If the loop is empty, go directly to the exit label. */ tmp = fold_build3_loc (loc, COND_EXPR, void_type_node, tmp, build1_v (GOTO_EXPR, exit_label), *************** gfc_trans_do (gfc_code * code, tree exit *** 2208,2214 **** /* Check whether someone has modified the loop variable. */ if (gfc_option.rtcheck & GFC_RTCHECK_DO) { ! tmp = fold_build2_loc (loc, NE_EXPR, boolean_type_node, dovar, saved_dovar); gfc_trans_runtime_check (true, false, tmp, &body, &code->loc, "Loop variable has been modified"); --- 2218,2224 ---- /* Check whether someone has modified the loop variable. */ if (gfc_option.rtcheck & GFC_RTCHECK_DO) { ! tmp = fold_build2_loc (loc, NE_EXPR, logical_type_node, dovar, saved_dovar); gfc_trans_runtime_check (true, false, tmp, &body, &code->loc, "Loop variable has been modified"); *************** gfc_trans_do (gfc_code * code, tree exit *** 2241,2247 **** gfc_add_modify_loc (loc, &body, countm1, tmp); /* End with the loop condition. Loop until countm1t == 0. */ ! cond = fold_build2_loc (loc, EQ_EXPR, boolean_type_node, countm1t, build_int_cst (utype, 0)); tmp = fold_build1_loc (loc, GOTO_EXPR, void_type_node, exit_label); tmp = fold_build3_loc (loc, COND_EXPR, void_type_node, --- 2251,2257 ---- gfc_add_modify_loc (loc, &body, countm1, tmp); /* End with the loop condition. Loop until countm1t == 0. */ ! cond = fold_build2_loc (loc, EQ_EXPR, logical_type_node, countm1t, build_int_cst (utype, 0)); tmp = fold_build1_loc (loc, GOTO_EXPR, void_type_node, exit_label); tmp = fold_build3_loc (loc, COND_EXPR, void_type_node, *************** gfc_trans_forall_loop (forall_info *fora *** 3395,3401 **** gfc_init_block (&block); /* The exit condition. */ ! cond = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, count, build_int_cst (TREE_TYPE (count), 0)); if (forall_tmp->do_concurrent) cond = build2 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, --- 3405,3411 ---- gfc_init_block (&block); /* The exit condition. */ ! cond = fold_build2_loc (input_location, LE_EXPR, logical_type_node, count, build_int_cst (TREE_TYPE (count), 0)); if (forall_tmp->do_concurrent) cond = build2 (ANNOTATE_EXPR, TREE_TYPE (cond), cond, *************** gfc_trans_where_2 (gfc_code * code, tree *** 5073,5079 **** &inner_size_body, block); /* Check whether the size is negative. */ ! cond = fold_build2_loc (input_location, LE_EXPR, boolean_type_node, size, gfc_index_zero_node); size = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, gfc_index_zero_node, size); --- 5083,5089 ---- &inner_size_body, block); /* Check whether the size is negative. */ ! cond = fold_build2_loc (input_location, LE_EXPR, logical_type_node, size, gfc_index_zero_node); size = fold_build3_loc (input_location, COND_EXPR, gfc_array_index_type, cond, gfc_index_zero_node, size); *************** gfc_trans_allocate (gfc_code * code) *** 5857,5866 **** if (code->ext.alloc.ts.type != BT_CHARACTER) expr3_esize = TYPE_SIZE_UNIT ( gfc_typenode_for_spec (&code->ext.alloc.ts)); ! else { gfc_expr *sz; - gcc_assert (code->ext.alloc.ts.u.cl->length != NULL); sz = gfc_copy_expr (code->ext.alloc.ts.u.cl->length); gfc_init_se (&se_sz, NULL); gfc_conv_expr (&se_sz, sz); --- 5867,5875 ---- if (code->ext.alloc.ts.type != BT_CHARACTER) expr3_esize = TYPE_SIZE_UNIT ( gfc_typenode_for_spec (&code->ext.alloc.ts)); ! else if (code->ext.alloc.ts.u.cl->length != NULL) { gfc_expr *sz; sz = gfc_copy_expr (code->ext.alloc.ts.u.cl->length); gfc_init_se (&se_sz, NULL); gfc_conv_expr (&se_sz, sz); *************** gfc_trans_allocate (gfc_code * code) *** 5874,5879 **** --- 5883,5890 ---- tmp, se_sz.expr); expr3_esize = gfc_evaluate_now (expr3_esize, &block); } + else + expr3_esize = NULL_TREE; } /* The routine gfc_trans_assignment () already implements all *************** gfc_trans_allocate (gfc_code * code) *** 6078,6084 **** polymorphic and stores a _len dependent object, e.g., a string. */ memsz = fold_build2_loc (input_location, GT_EXPR, ! boolean_type_node, expr3_len, integer_zero_node); memsz = fold_build3_loc (input_location, COND_EXPR, TREE_TYPE (expr3_esize), --- 6089,6095 ---- polymorphic and stores a _len dependent object, e.g., a string. */ memsz = fold_build2_loc (input_location, GT_EXPR, ! logical_type_node, expr3_len, integer_zero_node); memsz = fold_build3_loc (input_location, COND_EXPR, TREE_TYPE (expr3_esize), *************** gfc_trans_allocate (gfc_code * code) *** 6211,6217 **** { tmp = build1_v (GOTO_EXPR, label_errmsg); parm = fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (parm, PRED_FORTRAN_FAIL_ALLOC), --- 6222,6228 ---- { tmp = build1_v (GOTO_EXPR, label_errmsg); parm = fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (parm, PRED_FORTRAN_FAIL_ALLOC), *************** gfc_trans_allocate (gfc_code * code) *** 6430,6436 **** gfc_default_character_kind); dlen = gfc_finish_block (&errmsg_block); ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = build3_v (COND_EXPR, tmp, --- 6441,6447 ---- gfc_default_character_kind); dlen = gfc_finish_block (&errmsg_block); ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = build3_v (COND_EXPR, tmp, *************** gfc_trans_deallocate (gfc_code *code) *** 6668,6674 **** { tree cond; ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond, PRED_FORTRAN_FAIL_ALLOC), --- 6679,6685 ---- { tree cond; ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond, PRED_FORTRAN_FAIL_ALLOC), *************** gfc_trans_deallocate (gfc_code *code) *** 6708,6714 **** slen, errmsg_str, gfc_default_character_kind); tmp = gfc_finish_block (&errmsg_block); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond, PRED_FORTRAN_FAIL_ALLOC), tmp, --- 6719,6725 ---- slen, errmsg_str, gfc_default_character_kind); tmp = gfc_finish_block (&errmsg_block); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, stat, build_int_cst (TREE_TYPE (stat), 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond, PRED_FORTRAN_FAIL_ALLOC), tmp, diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-types.c gcc-7.3.0/gcc/fortran/trans-types.c *** gcc-7.2.0/gcc/fortran/trans-types.c Fri May 5 20:09:20 2017 --- gcc-7.3.0/gcc/fortran/trans-types.c Mon Nov 13 20:01:20 2017 *************** tree ppvoid_type_node; *** 60,65 **** --- 60,68 ---- tree pchar_type_node; tree pfunc_type_node; + tree logical_type_node; + tree logical_true_node; + tree logical_false_node; tree gfc_charlen_type_node; tree gfc_float128_type_node = NULL_TREE; *************** gfc_init_types (void) *** 976,981 **** --- 979,989 ---- wi::mask (n, UNSIGNED, TYPE_PRECISION (size_type_node))); + + logical_type_node = gfc_get_logical_type (gfc_default_logical_kind); + logical_true_node = build_int_cst (logical_type_node, 1); + logical_false_node = build_int_cst (logical_type_node, 0); + /* ??? Shouldn't this be based on gfc_index_integer_kind or so? */ gfc_charlen_int_kind = 4; gfc_charlen_type_node = gfc_get_int_type (gfc_charlen_int_kind); *************** gfc_get_array_descr_info (const_tree typ *** 3228,3238 **** t = build1 (NOP_EXPR, build_pointer_type (ptr_type_node), t); info->data_location = build1 (INDIRECT_REF, ptr_type_node, t); if (GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_ALLOCATABLE) ! info->allocated = build2 (NE_EXPR, boolean_type_node, info->data_location, null_pointer_node); else if (GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_POINTER || GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_POINTER_CONT) ! info->associated = build2 (NE_EXPR, boolean_type_node, info->data_location, null_pointer_node); if ((GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_ASSUMED_RANK || GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_ASSUMED_RANK_CONT) --- 3236,3246 ---- t = build1 (NOP_EXPR, build_pointer_type (ptr_type_node), t); info->data_location = build1 (INDIRECT_REF, ptr_type_node, t); if (GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_ALLOCATABLE) ! info->allocated = build2 (NE_EXPR, logical_type_node, info->data_location, null_pointer_node); else if (GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_POINTER || GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_POINTER_CONT) ! info->associated = build2 (NE_EXPR, logical_type_node, info->data_location, null_pointer_node); if ((GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_ASSUMED_RANK || GFC_TYPE_ARRAY_AKIND (type) == GFC_ARRAY_ASSUMED_RANK_CONT) diff -Nrcpad gcc-7.2.0/gcc/fortran/trans-types.h gcc-7.3.0/gcc/fortran/trans-types.h *** gcc-7.2.0/gcc/fortran/trans-types.h Fri Jan 13 19:53:16 2017 --- gcc-7.3.0/gcc/fortran/trans-types.h Mon Nov 13 20:01:20 2017 *************** extern GTY(()) tree pchar_type_node; *** 33,38 **** --- 33,52 ---- extern GTY(()) tree gfc_float128_type_node; extern GTY(()) tree gfc_complex_float128_type_node; + /* logical_type_node is the Fortran LOGICAL type of default kind. In + addition to uses mandated by the Fortran standard, also prefer it + for compiler generated temporary variables, is it avoids some minor + issues with boolean_type_node (the C/C++ _Bool/bool). Namely: + - On x86, partial register stalls with 8/16 bit register access, + and length prefix changes. + - On s390 there is a compare with immediate and jump instruction, + but it works only with 32-bit quantities and not 8-bit such as + boolean_type_node. + */ + extern GTY(()) tree logical_type_node; + extern GTY(()) tree logical_true_node; + extern GTY(()) tree logical_false_node; + /* This is the type used to hold the lengths of character variables. It must be the same as the corresponding definition in gfortran.h. */ /* TODO: This is still hardcoded as kind=4 in some bits of the compiler diff -Nrcpad gcc-7.2.0/gcc/fortran/trans.c gcc-7.3.0/gcc/fortran/trans.c *** gcc-7.2.0/gcc/fortran/trans.c Mon Mar 6 12:48:54 2017 --- gcc-7.3.0/gcc/fortran/trans.c Mon Nov 13 20:01:20 2017 *************** gfc_build_array_ref (tree base, tree off *** 342,348 **** || TREE_CODE (decl) == FUNCTION_DECL || DECL_CONTEXT (TYPE_MAXVAL (TYPE_DOMAIN (type))) == DECL_CONTEXT (decl))) ! span = TYPE_MAXVAL (TYPE_DOMAIN (type)); else span = NULL_TREE; --- 342,355 ---- || TREE_CODE (decl) == FUNCTION_DECL || DECL_CONTEXT (TYPE_MAXVAL (TYPE_DOMAIN (type))) == DECL_CONTEXT (decl))) ! { ! span = fold_convert (gfc_array_index_type, ! TYPE_MAX_VALUE (TYPE_DOMAIN (type))); ! span = fold_build2 (MULT_EXPR, gfc_array_index_type, ! fold_convert (gfc_array_index_type, ! TYPE_SIZE_UNIT (TREE_TYPE (type))), ! span); ! } else span = NULL_TREE; *************** gfc_trans_runtime_check (bool error, boo *** 526,534 **** if (once) { ! tmpvar = gfc_create_var (boolean_type_node, "print_warning"); TREE_STATIC (tmpvar) = 1; ! DECL_INITIAL (tmpvar) = boolean_true_node; gfc_add_expr_to_block (pblock, tmpvar); } --- 533,541 ---- if (once) { ! tmpvar = gfc_create_var (logical_type_node, "print_warning"); TREE_STATIC (tmpvar) = 1; ! DECL_INITIAL (tmpvar) = logical_true_node; gfc_add_expr_to_block (pblock, tmpvar); } *************** gfc_trans_runtime_check (bool error, boo *** 547,553 **** va_end (ap); if (once) ! gfc_add_modify (&block, tmpvar, boolean_false_node); body = gfc_finish_block (&block); --- 554,560 ---- va_end (ap); if (once) ! gfc_add_modify (&block, tmpvar, logical_false_node); body = gfc_finish_block (&block); *************** gfc_call_malloc (stmtblock_t * block, tr *** 600,606 **** if (gfc_option.rtcheck & GFC_RTCHECK_MEM) { null_result = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, res, build_int_cst (pvoid_type_node, 0)); msg = gfc_build_addr_expr (pchar_type_node, gfc_build_localized_cstring_const ("Memory allocation failed")); --- 607,613 ---- if (gfc_option.rtcheck & GFC_RTCHECK_MEM) { null_result = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, res, build_int_cst (pvoid_type_node, 0)); msg = gfc_build_addr_expr (pchar_type_node, gfc_build_localized_cstring_const ("Memory allocation failed")); *************** gfc_allocate_using_malloc (stmtblock_t * *** 686,692 **** } error_cond = fold_build2_loc (input_location, EQ_EXPR, ! boolean_type_node, pointer, build_int_cst (prvoid_type_node, 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (error_cond, PRED_FORTRAN_FAIL_ALLOC), --- 693,699 ---- } error_cond = fold_build2_loc (input_location, EQ_EXPR, ! logical_type_node, pointer, build_int_cst (prvoid_type_node, 0)); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (error_cond, PRED_FORTRAN_FAIL_ALLOC), *************** gfc_allocate_allocatable (stmtblock_t * *** 788,794 **** size = fold_convert (size_type_node, size); null_mem = gfc_unlikely (fold_build2_loc (input_location, NE_EXPR, ! boolean_type_node, mem, build_int_cst (type, 0)), PRED_FORTRAN_REALLOC); --- 795,801 ---- size = fold_convert (size_type_node, size); null_mem = gfc_unlikely (fold_build2_loc (input_location, NE_EXPR, ! logical_type_node, mem, build_int_cst (type, 0)), PRED_FORTRAN_REALLOC); *************** gfc_allocate_allocatable (stmtblock_t * *** 866,872 **** { TREE_USED (label_finish) = 1; tmp = build1_v (GOTO_EXPR, label_finish); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, status, build_zero_cst (TREE_TYPE (status))); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond, PRED_FORTRAN_FAIL_ALLOC), --- 873,879 ---- { TREE_USED (label_finish) = 1; tmp = build1_v (GOTO_EXPR, label_finish); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, status, build_zero_cst (TREE_TYPE (status))); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond, PRED_FORTRAN_FAIL_ALLOC), *************** gfc_add_comp_finalizer_call (stmtblock_t *** 1083,1094 **** { tmp = GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (array)) ? gfc_conv_descriptor_data_get (array) : array; ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); } else ! cond = boolean_true_node; if (!GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (array))) { --- 1090,1101 ---- { tmp = GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (array)) ? gfc_conv_descriptor_data_get (array) : array; ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, tmp, fold_convert (TREE_TYPE (tmp), null_pointer_node)); } else ! cond = logical_true_node; if (!GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (array))) { *************** gfc_add_comp_finalizer_call (stmtblock_t *** 1104,1115 **** if (!final_expr) { ! tmp = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, final_fndecl, fold_convert (TREE_TYPE (final_fndecl), null_pointer_node)); cond = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! boolean_type_node, cond, tmp); } if (POINTER_TYPE_P (TREE_TYPE (final_fndecl))) --- 1111,1122 ---- if (!final_expr) { ! tmp = fold_build2_loc (input_location, NE_EXPR, logical_type_node, final_fndecl, fold_convert (TREE_TYPE (final_fndecl), null_pointer_node)); cond = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! logical_type_node, cond, tmp); } if (POINTER_TYPE_P (TREE_TYPE (final_fndecl))) *************** gfc_add_finalizer_call (stmtblock_t *blo *** 1205,1211 **** gfc_init_se (&se, NULL); se.want_pointer = 1; gfc_conv_expr (&se, final_expr); ! cond = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, se.expr, build_int_cst (TREE_TYPE (se.expr), 0)); /* For CLASS(*) not only sym->_vtab->_final can be NULL --- 1212,1218 ---- gfc_init_se (&se, NULL); se.want_pointer = 1; gfc_conv_expr (&se, final_expr); ! cond = fold_build2_loc (input_location, NE_EXPR, logical_type_node, se.expr, build_int_cst (TREE_TYPE (se.expr), 0)); /* For CLASS(*) not only sym->_vtab->_final can be NULL *************** gfc_add_finalizer_call (stmtblock_t *blo *** 1223,1233 **** gfc_conv_expr (&se, vptr_expr); gfc_free_expr (vptr_expr); ! cond2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, se.expr, build_int_cst (TREE_TYPE (se.expr), 0)); cond = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! boolean_type_node, cond2, cond); } tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, --- 1230,1240 ---- gfc_conv_expr (&se, vptr_expr); gfc_free_expr (vptr_expr); ! cond2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, se.expr, build_int_cst (TREE_TYPE (se.expr), 0)); cond = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR, ! logical_type_node, cond2, cond); } tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, *************** gfc_deallocate_with_status (tree pointer *** 1333,1339 **** else if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (pointer))) pointer = gfc_conv_descriptor_data_get (pointer); ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, pointer, build_int_cst (TREE_TYPE (pointer), 0)); /* When POINTER is NULL, we set STATUS to 1 if it's present, otherwise --- 1340,1346 ---- else if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (pointer))) pointer = gfc_conv_descriptor_data_get (pointer); ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, pointer, build_int_cst (TREE_TYPE (pointer), 0)); /* When POINTER is NULL, we set STATUS to 1 if it's present, otherwise *************** gfc_deallocate_with_status (tree pointer *** 1360,1366 **** tree cond2; status_type = TREE_TYPE (TREE_TYPE (status)); ! cond2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, fold_build1_loc (input_location, INDIRECT_REF, --- 1367,1373 ---- tree cond2; status_type = TREE_TYPE (TREE_TYPE (status)); ! cond2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, fold_build1_loc (input_location, INDIRECT_REF, *************** gfc_deallocate_with_status (tree pointer *** 1393,1399 **** tree status_type = TREE_TYPE (TREE_TYPE (status)); tree cond2; ! cond2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, --- 1400,1406 ---- tree status_type = TREE_TYPE (TREE_TYPE (status)); tree cond2; ! cond2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, *************** gfc_deallocate_with_status (tree pointer *** 1456,1462 **** TREE_USED (label_finish) = 1; tmp = build1_v (GOTO_EXPR, label_finish); ! cond2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, stat, build_zero_cst (TREE_TYPE (stat))); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond2, PRED_FORTRAN_REALLOC), --- 1463,1469 ---- TREE_USED (label_finish) = 1; tmp = build1_v (GOTO_EXPR, label_finish); ! cond2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, stat, build_zero_cst (TREE_TYPE (stat))); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond2, PRED_FORTRAN_REALLOC), *************** gfc_deallocate_scalar_with_status (tree *** 1492,1498 **** && comp_ref) caf_dereg_type = GFC_CAF_COARRAY_DEALLOCATE_ONLY; ! cond = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, pointer, build_int_cst (TREE_TYPE (pointer), 0)); /* When POINTER is NULL, we set STATUS to 1 if it's present, otherwise --- 1499,1505 ---- && comp_ref) caf_dereg_type = GFC_CAF_COARRAY_DEALLOCATE_ONLY; ! cond = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, pointer, build_int_cst (TREE_TYPE (pointer), 0)); /* When POINTER is NULL, we set STATUS to 1 if it's present, otherwise *************** gfc_deallocate_scalar_with_status (tree *** 1519,1525 **** tree status_type = TREE_TYPE (TREE_TYPE (status)); tree cond2; ! cond2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, fold_build1_loc (input_location, INDIRECT_REF, --- 1526,1532 ---- tree status_type = TREE_TYPE (TREE_TYPE (status)); tree cond2; ! cond2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, fold_build1_loc (input_location, INDIRECT_REF, *************** gfc_deallocate_scalar_with_status (tree *** 1564,1570 **** tree status_type = TREE_TYPE (TREE_TYPE (status)); tree cond2; ! cond2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, --- 1571,1577 ---- tree status_type = TREE_TYPE (TREE_TYPE (status)); tree cond2; ! cond2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, status, build_int_cst (TREE_TYPE (status), 0)); tmp = fold_build2_loc (input_location, MODIFY_EXPR, status_type, *************** gfc_deallocate_scalar_with_status (tree *** 1614,1620 **** TREE_USED (label_finish) = 1; tmp = build1_v (GOTO_EXPR, label_finish); ! cond2 = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, stat, build_zero_cst (TREE_TYPE (stat))); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond2, PRED_FORTRAN_REALLOC), --- 1621,1627 ---- TREE_USED (label_finish) = 1; tmp = build1_v (GOTO_EXPR, label_finish); ! cond2 = fold_build2_loc (input_location, NE_EXPR, logical_type_node, stat, build_zero_cst (TREE_TYPE (stat))); tmp = fold_build3_loc (input_location, COND_EXPR, void_type_node, gfc_unlikely (cond2, PRED_FORTRAN_REALLOC), *************** gfc_call_realloc (stmtblock_t * block, t *** 1657,1667 **** builtin_decl_explicit (BUILT_IN_REALLOC), 2, fold_convert (pvoid_type_node, mem), size); gfc_add_modify (block, res, fold_convert (type, tmp)); ! null_result = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node, res, build_int_cst (pvoid_type_node, 0)); ! nonzero = fold_build2_loc (input_location, NE_EXPR, boolean_type_node, size, build_int_cst (size_type_node, 0)); ! null_result = fold_build2_loc (input_location, TRUTH_AND_EXPR, boolean_type_node, null_result, nonzero); msg = gfc_build_addr_expr (pchar_type_node, gfc_build_localized_cstring_const ("Allocation would exceed memory limit")); --- 1664,1674 ---- builtin_decl_explicit (BUILT_IN_REALLOC), 2, fold_convert (pvoid_type_node, mem), size); gfc_add_modify (block, res, fold_convert (type, tmp)); ! null_result = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, res, build_int_cst (pvoid_type_node, 0)); ! nonzero = fold_build2_loc (input_location, NE_EXPR, logical_type_node, size, build_int_cst (size_type_node, 0)); ! null_result = fold_build2_loc (input_location, TRUTH_AND_EXPR, logical_type_node, null_result, nonzero); msg = gfc_build_addr_expr (pchar_type_node, gfc_build_localized_cstring_const ("Allocation would exceed memory limit")); diff -Nrcpad gcc-7.2.0/gcc/gcc-ar.c gcc-7.3.0/gcc/gcc-ar.c *** gcc-7.2.0/gcc/gcc-ar.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/gcc-ar.c Tue Nov 21 16:00:55 2017 *************** main (int ac, char **av) *** 194,207 **** #ifdef CROSS_DIRECTORY_STRUCTURE real_exe_name = concat (target_machine, "-", PERSONALITY, NULL); #endif - /* Do not search original location in the same folder. */ - char *exe_folder = lrealpath (av[0]); - exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0'; - char *location = concat (exe_folder, PERSONALITY, NULL); - - if (access (location, X_OK) == 0) - remove_prefix (exe_folder, &path); - exe_name = find_a_file (&path, real_exe_name, X_OK); if (!exe_name) { --- 194,199 ---- diff -Nrcpad gcc-7.2.0/gcc/gcc.c gcc-7.3.0/gcc/gcc.c *** gcc-7.2.0/gcc/gcc.c Thu Jun 22 11:38:56 2017 --- gcc-7.3.0/gcc/gcc.c Fri Sep 15 08:18:34 2017 *************** proper position among the other output f *** 872,879 **** #endif #ifdef ENABLE_DEFAULT_PIE ! #define NO_PIE_SPEC "no-pie|static" ! #define PIE_SPEC NO_PIE_SPEC "|r|shared:;" #define NO_FPIE1_SPEC "fno-pie" #define FPIE1_SPEC NO_FPIE1_SPEC ":;" #define NO_FPIE2_SPEC "fno-PIE" --- 872,878 ---- #endif #ifdef ENABLE_DEFAULT_PIE ! #define PIE_SPEC "!no-pie" #define NO_FPIE1_SPEC "fno-pie" #define FPIE1_SPEC NO_FPIE1_SPEC ":;" #define NO_FPIE2_SPEC "fno-PIE" *************** proper position among the other output f *** 894,900 **** #define FPIE_OR_FPIC_SPEC NO_FPIE_AND_FPIC_SPEC ":;" #else #define PIE_SPEC "pie" - #define NO_PIE_SPEC PIE_SPEC "|r|shared:;" #define FPIE1_SPEC "fpie" #define NO_FPIE1_SPEC FPIE1_SPEC ":;" #define FPIE2_SPEC "fPIE" --- 893,898 ---- *************** proper position among the other output f *** 923,929 **** #else #define LD_PIE_SPEC "" #endif ! #define LINK_PIE_SPEC "%{no-pie:} " "%{" PIE_SPEC ":" LD_PIE_SPEC "} " #endif #ifndef LINK_BUILDID_SPEC --- 921,927 ---- #else #define LD_PIE_SPEC "" #endif ! #define LINK_PIE_SPEC "%{static|shared|r:;" PIE_SPEC ":" LD_PIE_SPEC "} " #endif #ifndef LINK_BUILDID_SPEC *************** proper position among the other output f *** 1011,1018 **** #endif /* -u* was put back because both BSD and SysV seem to support it. */ ! /* %{static:} simply prevents an error message if the target machine ! doesn't handle -static. */ /* We want %{T*} after %{L*} and %D so that it can be used to specify linker scripts which exist in user specified directories, or in standard directories. */ --- 1009,1018 ---- #endif /* -u* was put back because both BSD and SysV seem to support it. */ ! /* %{static|no-pie:} simply prevents an error message: ! 1. If the target machine doesn't handle -static. ! 2. If PIE isn't enabled by default. ! */ /* We want %{T*} after %{L*} and %D so that it can be used to specify linker scripts which exist in user specified directories, or in standard directories. */ *************** proper position among the other output f *** 1029,1035 **** "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ "%X %{o*} %{e*} %{N} %{n} %{r}\ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \ ! %{static:} %{L*} %(mfwrap) %(link_libgcc) " \ VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \ %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %:include(libgomp.spec)%(link_gomp)}\ --- 1029,1035 ---- "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ "%X %{o*} %{e*} %{N} %{n} %{r}\ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \ ! %{static|no-pie:} %{L*} %(mfwrap) %(link_libgcc) " \ VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \ %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ %:include(libgomp.spec)%(link_gomp)}\ *************** driver_handle_option (struct gcc_options *** 3742,3748 **** unsigned int lang_mask ATTRIBUTE_UNUSED, int kind, location_t loc, const struct cl_option_handlers *handlers ATTRIBUTE_UNUSED, ! diagnostic_context *dc) { size_t opt_index = decoded->opt_index; const char *arg = decoded->arg; --- 3742,3749 ---- unsigned int lang_mask ATTRIBUTE_UNUSED, int kind, location_t loc, const struct cl_option_handlers *handlers ATTRIBUTE_UNUSED, ! diagnostic_context *dc, ! void (*) (void)) { size_t opt_index = decoded->opt_index; const char *arg = decoded->arg; diff -Nrcpad gcc-7.2.0/gcc/gengtype-lex.c gcc-7.3.0/gcc/gengtype-lex.c *** gcc-7.2.0/gcc/gengtype-lex.c Mon Aug 14 08:05:16 2017 --- gcc-7.3.0/gcc/gengtype-lex.c Thu Jan 25 08:19:42 2018 *************** int yy_flex_debug = 0; *** 1188,1194 **** #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2017 Free Software Foundation, Inc. --- 1188,1194 ---- #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; ! #line 1 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* -*- indented-text -*- */ /* Process source files and output type information. Copyright (C) 2002-2017 Free Software Foundation, Inc. *************** You should have received a copy of the G *** 1209,1215 **** along with GCC; see the file COPYING3. If not see . */ #define YY_NO_INPUT 1 ! #line 24 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" #ifdef HOST_GENERATOR_FILE #include "config.h" #define GENERATOR_FILE 1 --- 1209,1215 ---- along with GCC; see the file COPYING3. If not see . */ #define YY_NO_INPUT 1 ! #line 24 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" #ifdef HOST_GENERATOR_FILE #include "config.h" #define GENERATOR_FILE 1 *************** YY_DECL *** 1425,1431 **** register char *yy_cp, *yy_bp; register int yy_act; ! #line 66 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; --- 1425,1431 ---- register char *yy_cp, *yy_bp; register int yy_act; ! #line 66 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* Do this on entry to yylex(): */ *yylval = 0; *************** case 1: *** 1522,1528 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 77 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; --- 1522,1528 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 77 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return TYPEDEF; *************** case 2: *** 1534,1540 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 81 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1534,1540 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 81 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** case 3: *** 1546,1552 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 85 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; --- 1546,1552 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 85 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return UNION; *************** case 4: *** 1558,1564 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 89 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; --- 1558,1564 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 89 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STRUCT; *************** case 5: *** 1570,1576 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 93 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; --- 1570,1576 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 93 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return EXTERN; *************** case 6: *** 1582,1588 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 97 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; --- 1582,1588 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 97 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); return STATIC; *************** YY_RULE_SETUP *** 1593,1617 **** case 7: YY_RULE_SETUP ! #line 105 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 106 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 108 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 109 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: --- 1593,1617 ---- case 7: YY_RULE_SETUP ! #line 105 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct_comment); } YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP ! #line 106 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP ! #line 108 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 10: /* rule 10 can match eol */ YY_RULE_SETUP ! #line 109 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 11: *************** case 11: *** 1620,1626 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: --- 1620,1626 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 111 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* don't care */ YY_BREAK case 12: *************** case 12: *** 1628,1644 **** *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 113 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 114 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 115 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 115 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; --- 1628,1644 ---- *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 113 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 13: /* rule 13 can match eol */ ! #line 114 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 14: /* rule 14 can match eol */ ! #line 115 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 15: /* rule 15 can match eol */ YY_RULE_SETUP ! #line 115 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng + 1); return IGNORABLE_CXX_KEYWORD; *************** case 16: *** 1650,1656 **** (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 119 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: --- 1650,1656 ---- (yy_c_buf_p) = yy_cp = yy_bp + 3; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 119 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return GTY_TOKEN; } YY_BREAK case 17: *************** case 17: *** 1659,1665 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: --- 1659,1665 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 120 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return UNION; } YY_BREAK case 18: *************** case 18: *** 1668,1674 **** (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: --- 1668,1674 ---- (yy_c_buf_p) = yy_cp = yy_bp + 6; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 121 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 19: *************** case 19: *** 1677,1683 **** (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: --- 1677,1683 ---- (yy_c_buf_p) = yy_cp = yy_bp + 5; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 122 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return STRUCT; } YY_BREAK case 20: *************** case 20: *** 1686,1692 **** (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: --- 1686,1692 ---- (yy_c_buf_p) = yy_cp = yy_bp + 7; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 123 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return TYPEDEF; } YY_BREAK case 21: *************** case 21: *** 1695,1701 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: --- 1695,1701 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 124 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return ENUM; } YY_BREAK case 22: *************** case 22: *** 1704,1710 **** (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: --- 1704,1710 ---- (yy_c_buf_p) = yy_cp = yy_bp + 9; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 125 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return PTR_ALIAS; } YY_BREAK case 23: *************** case 23: *** 1713,1719 **** (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: --- 1713,1719 ---- (yy_c_buf_p) = yy_cp = yy_bp + 10; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 126 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return NESTED_PTR; } YY_BREAK case 24: *************** case 24: *** 1722,1733 **** (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 128 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 26: --- 1722,1733 ---- (yy_c_buf_p) = yy_cp = yy_bp + 4; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 127 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return USER_GTY; } YY_BREAK case 25: YY_RULE_SETUP ! #line 128 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return NUM; } YY_BREAK case 26: *************** case 26: *** 1735,1745 **** *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 131 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 131 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { size_t len; --- 1735,1745 ---- *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 131 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 27: /* rule 27 can match eol */ YY_RULE_SETUP ! #line 131 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { size_t len; *************** case 28: *** 1757,1763 **** (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 142 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; --- 1757,1763 ---- (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 142 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); return ID; *************** YY_RULE_SETUP *** 1766,1772 **** case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 147 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; --- 1766,1772 ---- case 29: /* rule 29 can match eol */ YY_RULE_SETUP ! #line 147 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return STRING; *************** YY_RULE_SETUP *** 1776,1782 **** case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 152 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; --- 1776,1782 ---- case 30: /* rule 30 can match eol */ YY_RULE_SETUP ! #line 152 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); return ARRAY; *************** YY_RULE_SETUP *** 1785,1791 **** case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 156 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; --- 1785,1791 ---- case 31: /* rule 31 can match eol */ YY_RULE_SETUP ! #line 156 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); return CHAR; *************** YY_RULE_SETUP *** 1793,1816 **** YY_BREAK case 32: YY_RULE_SETUP ! #line 161 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 162 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 34: /* rule 34 can match eol */ YY_RULE_SETUP ! #line 165 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 167 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } --- 1793,1816 ---- YY_BREAK case 32: YY_RULE_SETUP ! #line 161 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return ELLIPSIS; } YY_BREAK case 33: YY_RULE_SETUP ! #line 162 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { return yytext[0]; } YY_BREAK /* ignore pp-directives */ case 34: /* rule 34 can match eol */ YY_RULE_SETUP ! #line 165 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" {lexer_line.line++;} YY_BREAK case 35: YY_RULE_SETUP ! #line 167 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unexpected character `%s'", yytext); } *************** YY_RULE_SETUP *** 1818,1853 **** case 36: YY_RULE_SETUP ! #line 172 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 173 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 174 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 176 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 177 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 177 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 178 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: --- 1818,1853 ---- case 36: YY_RULE_SETUP ! #line 172 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_comment); } YY_BREAK case 37: /* rule 37 can match eol */ YY_RULE_SETUP ! #line 173 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 38: /* rule 38 can match eol */ YY_RULE_SETUP ! #line 174 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 39: ! #line 176 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 40: /* rule 40 can match eol */ ! #line 177 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 41: /* rule 41 can match eol */ YY_RULE_SETUP ! #line 177 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 42: /* rule 42 can match eol */ YY_RULE_SETUP ! #line 178 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { update_lineno (yytext, yyleng); } YY_BREAK case 43: *************** case 43: *** 1856,1876 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 179 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 182 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 184 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 184 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: --- 1856,1876 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 179 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 44: /* rule 44 can match eol */ YY_RULE_SETUP ! #line 182 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { lexer_line.line++; } YY_BREAK case 45: ! #line 184 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 46: YY_RULE_SETUP ! #line 184 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 47: *************** case 47: *** 1879,1903 **** (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 185 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 188 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 189 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 192 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 192 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); --- 1879,1903 ---- (yy_c_buf_p) = yy_cp = yy_bp + 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP ! #line 185 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 48: YY_RULE_SETUP ! #line 188 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(INITIAL); } YY_BREAK case 49: YY_RULE_SETUP ! #line 189 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { BEGIN(in_struct); } YY_BREAK case 50: ! #line 192 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" case 51: YY_RULE_SETUP ! #line 192 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" { error_at_line (&lexer_line, "unterminated comment or string; unexpected EOF"); *************** YY_RULE_SETUP *** 1906,1917 **** case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 197 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 199 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1917 "gengtype-lex.c" --- 1906,1917 ---- case 52: /* rule 52 can match eol */ YY_RULE_SETUP ! #line 197 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" /* do nothing */ YY_BREAK case 53: YY_RULE_SETUP ! #line 199 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK #line 1917 "gengtype-lex.c" *************** void yyfree (void * ptr ) *** 2878,2884 **** #define YYTABLES_NAME "yytables" ! #line 199 "/space/rguenther/gcc-7.2.0/gcc-7.2.0/gcc/gengtype-lex.l" --- 2878,2884 ---- #define YYTABLES_NAME "yytables" ! #line 199 "/space/rguenther/gcc-7.3.0/gcc-7.3.0/gcc/gengtype-lex.l" diff -Nrcpad gcc-7.2.0/gcc/ggc-page.c gcc-7.3.0/gcc/ggc-page.c *** gcc-7.2.0/gcc/ggc-page.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/ggc-page.c Fri Dec 15 11:31:42 2017 *************** along with GCC; see the file COPYING3. *** 92,102 **** 4: Object marks as well. */ #define GGC_DEBUG_LEVEL (0) - #ifndef HOST_BITS_PER_PTR - #define HOST_BITS_PER_PTR HOST_BITS_PER_LONG - #endif - - /* A two-level tree is used to look up the page-entry for a given pointer. Two chunks of the pointer's bits are extracted to index the first and second levels of the tree, as follows: --- 92,97 ---- diff -Nrcpad gcc-7.2.0/gcc/gimple-fold.c gcc-7.3.0/gcc/gimple-fold.c *** gcc-7.2.0/gcc/gimple-fold.c Tue Jun 27 08:16:10 2017 --- gcc-7.3.0/gcc/gimple-fold.c Fri Dec 15 08:19:15 2017 *************** get_range_strlen (tree arg, tree length[ *** 1236,1242 **** the NUL. Set *FLEXP to true if the array whose bound is being used is at the end of a struct. */ ! if (array_at_struct_end_p (arg, true)) *flexp = true; arg = TREE_OPERAND (arg, 1); --- 1236,1242 ---- the NUL. Set *FLEXP to true if the array whose bound is being used is at the end of a struct. */ ! if (array_at_struct_end_p (arg)) *flexp = true; arg = TREE_OPERAND (arg, 1); *************** gimple_fold_call (gimple_stmt_iterator * *** 3734,3757 **** tree fndecl = builtin_decl_implicit (BUILT_IN_UNREACHABLE); gimple *new_stmt = gimple_build_call (fndecl, 0); gimple_set_location (new_stmt, gimple_location (stmt)); if (lhs && TREE_CODE (lhs) == SSA_NAME) { tree var = create_tmp_var (TREE_TYPE (lhs)); ! tree def = get_or_create_ssa_default_def (cfun, var); ! ! /* To satisfy condition for ! cgraph_update_edges_for_call_stmt_node, ! we need to preserve GIMPLE_CALL statement ! at position of GSI iterator. */ ! update_call_from_tree (gsi, def); ! gsi_insert_before (gsi, new_stmt, GSI_NEW_STMT); ! } ! else ! { ! gimple_set_vuse (new_stmt, gimple_vuse (stmt)); ! gimple_set_vdef (new_stmt, gimple_vdef (stmt)); ! gsi_replace (gsi, new_stmt, false); } return true; } } --- 3734,3751 ---- tree fndecl = builtin_decl_implicit (BUILT_IN_UNREACHABLE); gimple *new_stmt = gimple_build_call (fndecl, 0); gimple_set_location (new_stmt, gimple_location (stmt)); + /* If the call had a SSA name as lhs morph that into + an uninitialized value. */ if (lhs && TREE_CODE (lhs) == SSA_NAME) { tree var = create_tmp_var (TREE_TYPE (lhs)); ! SET_SSA_NAME_VAR_OR_IDENTIFIER (lhs, var); ! SSA_NAME_DEF_STMT (lhs) = gimple_build_nop (); ! set_ssa_default_def (cfun, var, lhs); } + gimple_set_vuse (new_stmt, gimple_vuse (stmt)); + gimple_set_vdef (new_stmt, gimple_vdef (stmt)); + gsi_replace (gsi, new_stmt, false); return true; } } *************** gimple_get_virt_method_for_vtable (HOST_ *** 6439,6445 **** gcc_assert (init); if (init == error_mark_node) { - gcc_assert (in_lto_p); /* Pass down that we lost track of the target. */ if (can_refer) *can_refer = false; --- 6433,6438 ---- diff -Nrcpad gcc-7.2.0/gcc/gimple-ssa-sprintf.c gcc-7.3.0/gcc/gimple-ssa-sprintf.c *** gcc-7.2.0/gcc/gimple-ssa-sprintf.c Tue Apr 25 17:58:32 2017 --- gcc-7.3.0/gcc/gimple-ssa-sprintf.c Fri Dec 22 08:54:26 2017 *************** static fmtresult *** 1717,1722 **** --- 1717,1724 ---- format_floating (const directive &dir, tree arg) { HOST_WIDE_INT prec[] = { dir.prec[0], dir.prec[1] }; + tree type = (dir.modifier == FMT_LEN_L || dir.modifier == FMT_LEN_ll + ? long_double_type_node : double_type_node); /* For an indeterminate precision the lower bound must be assumed to be zero. */ *************** format_floating (const directive &dir, t *** 1724,1733 **** { /* Get the number of fractional decimal digits needed to represent the argument without a loss of accuracy. */ - tree type = arg ? TREE_TYPE (arg) : - (dir.modifier == FMT_LEN_L || dir.modifier == FMT_LEN_ll - ? long_double_type_node : double_type_node); - unsigned fmtprec = REAL_MODE_FORMAT (TYPE_MODE (type))->p; --- 1726,1731 ---- *************** format_floating (const directive &dir, t *** 1778,1784 **** } } ! if (!arg || TREE_CODE (arg) != REAL_CST) return format_floating (dir, prec); /* The minimum and maximum number of bytes produced by the directive. */ --- 1776,1784 ---- } } ! if (!arg ! || TREE_CODE (arg) != REAL_CST ! || !useless_type_conversion_p (type, TREE_TYPE (arg))) return format_floating (dir, prec); /* The minimum and maximum number of bytes produced by the directive. */ *************** maybe_warn (substring_loc &dirloc, sourc *** 2294,2300 **** /* For plain character directives (i.e., the format string itself) but not others, point the caret at the first character that's past the end of the destination. */ ! dirloc.set_caret_index (dirloc.get_caret_idx () + navail); } if (*dir.beg == '\0') --- 2294,2301 ---- /* For plain character directives (i.e., the format string itself) but not others, point the caret at the first character that's past the end of the destination. */ ! if (navail < dir.len) ! dirloc.set_caret_index (dirloc.get_caret_idx () + navail); } if (*dir.beg == '\0') *************** maybe_warn (substring_loc &dirloc, sourc *** 2423,2429 **** /* For plain character directives (i.e., the format string itself) but not others, point the caret at the first character that's past the end of the destination. */ ! dirloc.set_caret_index (dirloc.get_caret_idx () + navail); } if (*dir.beg == '\0') --- 2424,2431 ---- /* For plain character directives (i.e., the format string itself) but not others, point the caret at the first character that's past the end of the destination. */ ! if (navail < dir.len) ! dirloc.set_caret_index (dirloc.get_caret_idx () + navail); } if (*dir.beg == '\0') diff -Nrcpad gcc-7.2.0/gcc/gimple-ssa-strength-reduction.c gcc-7.3.0/gcc/gimple-ssa-strength-reduction.c *** gcc-7.2.0/gcc/gimple-ssa-strength-reduction.c Tue Jul 25 19:40:50 2017 --- gcc-7.3.0/gcc/gimple-ssa-strength-reduction.c Mon Oct 2 18:07:45 2017 *************** find_phi_def (tree base) *** 476,482 **** c = base_cand_from_table (base); ! if (!c || c->kind != CAND_PHI) return 0; return c->cand_num; --- 476,483 ---- c = base_cand_from_table (base); ! if (!c || c->kind != CAND_PHI ! || SSA_NAME_OCCURS_IN_ABNORMAL_PHI (gimple_phi_result (c->cand_stmt))) return 0; return c->cand_num; *************** find_basis_for_base_expr (slsr_cand_t c, *** 515,520 **** --- 516,526 ---- gimple_bb (one_basis->cand_stmt))) continue; + tree lhs = gimple_assign_lhs (one_basis->cand_stmt); + if (lhs && TREE_CODE (lhs) == SSA_NAME + && SSA_NAME_OCCURS_IN_ABNORMAL_PHI (lhs)) + continue; + if (!basis || basis->cand_num < one_basis->cand_num) basis = one_basis; } *************** replace_mult_candidate (slsr_cand_t c, t *** 2044,2147 **** tree target_type = TREE_TYPE (gimple_assign_lhs (c->cand_stmt)); enum tree_code cand_code = gimple_assign_rhs_code (c->cand_stmt); ! /* It is highly unlikely, but possible, that the resulting ! bump doesn't fit in a HWI. Abandon the replacement ! in this case. This does not affect siblings or dependents ! of C. Restriction to signed HWI is conservative for unsigned ! types but allows for safe negation without twisted logic. */ ! if (wi::fits_shwi_p (bump) ! && bump.to_shwi () != HOST_WIDE_INT_MIN ! /* It is not useful to replace casts, copies, negates, or adds of ! an SSA name and a constant. */ ! && cand_code != SSA_NAME ! && !CONVERT_EXPR_CODE_P (cand_code) ! && cand_code != PLUS_EXPR ! && cand_code != POINTER_PLUS_EXPR ! && cand_code != MINUS_EXPR ! && cand_code != NEGATE_EXPR) { ! enum tree_code code = PLUS_EXPR; ! tree bump_tree; ! gimple *stmt_to_print = NULL; ! /* If the basis name and the candidate's LHS have incompatible ! types, introduce a cast. */ ! if (!useless_type_conversion_p (target_type, TREE_TYPE (basis_name))) ! basis_name = introduce_cast_before_cand (c, target_type, basis_name); ! if (wi::neg_p (bump)) ! { ! code = MINUS_EXPR; ! bump = -bump; ! } ! bump_tree = wide_int_to_tree (target_type, bump); if (dump_file && (dump_flags & TDF_DETAILS)) { ! fputs ("Replacing: ", dump_file); ! print_gimple_stmt (dump_file, c->cand_stmt, 0, 0); } ! ! if (bump == 0) { - tree lhs = gimple_assign_lhs (c->cand_stmt); - gassign *copy_stmt = gimple_build_assign (lhs, basis_name); gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt); slsr_cand_t cc = c; ! gimple_set_location (copy_stmt, gimple_location (c->cand_stmt)); ! gsi_replace (&gsi, copy_stmt, false); ! c->cand_stmt = copy_stmt; while (cc->next_interp) { cc = lookup_cand (cc->next_interp); ! cc->cand_stmt = copy_stmt; } if (dump_file && (dump_flags & TDF_DETAILS)) ! stmt_to_print = copy_stmt; ! } ! else ! { ! tree rhs1, rhs2; ! if (cand_code != NEGATE_EXPR) { ! rhs1 = gimple_assign_rhs1 (c->cand_stmt); ! rhs2 = gimple_assign_rhs2 (c->cand_stmt); ! } ! if (cand_code != NEGATE_EXPR ! && ((operand_equal_p (rhs1, basis_name, 0) ! && operand_equal_p (rhs2, bump_tree, 0)) ! || (operand_equal_p (rhs1, bump_tree, 0) ! && operand_equal_p (rhs2, basis_name, 0)))) ! { ! if (dump_file && (dump_flags & TDF_DETAILS)) ! { ! fputs ("(duplicate, not actually replacing)", dump_file); ! stmt_to_print = c->cand_stmt; ! } ! } ! else ! { ! gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt); ! slsr_cand_t cc = c; ! gimple_assign_set_rhs_with_ops (&gsi, code, ! basis_name, bump_tree); ! update_stmt (gsi_stmt (gsi)); ! c->cand_stmt = gsi_stmt (gsi); ! while (cc->next_interp) ! { ! cc = lookup_cand (cc->next_interp); ! cc->cand_stmt = gsi_stmt (gsi); ! } ! if (dump_file && (dump_flags & TDF_DETAILS)) ! stmt_to_print = gsi_stmt (gsi); ! } } ! ! if (dump_file && (dump_flags & TDF_DETAILS)) ! { ! fputs ("With: ", dump_file); ! print_gimple_stmt (dump_file, stmt_to_print, 0, 0); ! fputs ("\n", dump_file); ! } } } --- 2050,2153 ---- tree target_type = TREE_TYPE (gimple_assign_lhs (c->cand_stmt)); enum tree_code cand_code = gimple_assign_rhs_code (c->cand_stmt); ! /* It is not useful to replace casts, copies, negates, or adds of ! an SSA name and a constant. */ ! if (cand_code == SSA_NAME ! || CONVERT_EXPR_CODE_P (cand_code) ! || cand_code == PLUS_EXPR ! || cand_code == POINTER_PLUS_EXPR ! || cand_code == MINUS_EXPR ! || cand_code == NEGATE_EXPR) ! return; ! ! enum tree_code code = PLUS_EXPR; ! tree bump_tree; ! gimple *stmt_to_print = NULL; ! ! /* If the basis name and the candidate's LHS have incompatible ! types, introduce a cast. */ ! if (!useless_type_conversion_p (target_type, TREE_TYPE (basis_name))) ! basis_name = introduce_cast_before_cand (c, target_type, basis_name); ! if (wi::neg_p (bump)) { ! code = MINUS_EXPR; ! bump = -bump; ! } ! /* It is possible that the resulting bump doesn't fit in target_type. ! Abandon the replacement in this case. This does not affect ! siblings or dependents of C. */ ! if (bump != wi::ext (bump, TYPE_PRECISION (target_type), ! TYPE_SIGN (target_type))) ! return; ! bump_tree = wide_int_to_tree (target_type, bump); ! ! if (dump_file && (dump_flags & TDF_DETAILS)) ! { ! fputs ("Replacing: ", dump_file); ! print_gimple_stmt (dump_file, c->cand_stmt, 0, 0); ! } + if (bump == 0) + { + tree lhs = gimple_assign_lhs (c->cand_stmt); + gassign *copy_stmt = gimple_build_assign (lhs, basis_name); + gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt); + slsr_cand_t cc = c; + gimple_set_location (copy_stmt, gimple_location (c->cand_stmt)); + gsi_replace (&gsi, copy_stmt, false); + c->cand_stmt = copy_stmt; + while (cc->next_interp) + { + cc = lookup_cand (cc->next_interp); + cc->cand_stmt = copy_stmt; + } if (dump_file && (dump_flags & TDF_DETAILS)) + stmt_to_print = copy_stmt; + } + else + { + tree rhs1, rhs2; + if (cand_code != NEGATE_EXPR) { + rhs1 = gimple_assign_rhs1 (c->cand_stmt); + rhs2 = gimple_assign_rhs2 (c->cand_stmt); + } + if (cand_code != NEGATE_EXPR + && ((operand_equal_p (rhs1, basis_name, 0) + && operand_equal_p (rhs2, bump_tree, 0)) + || (operand_equal_p (rhs1, bump_tree, 0) + && operand_equal_p (rhs2, basis_name, 0)))) { ! if (dump_file && (dump_flags & TDF_DETAILS)) ! { ! fputs ("(duplicate, not actually replacing)", dump_file); ! stmt_to_print = c->cand_stmt; ! } } ! else { gimple_stmt_iterator gsi = gsi_for_stmt (c->cand_stmt); slsr_cand_t cc = c; ! gimple_assign_set_rhs_with_ops (&gsi, code, ! basis_name, bump_tree); ! update_stmt (gsi_stmt (gsi)); ! c->cand_stmt = gsi_stmt (gsi); while (cc->next_interp) { cc = lookup_cand (cc->next_interp); ! cc->cand_stmt = gsi_stmt (gsi); } if (dump_file && (dump_flags & TDF_DETAILS)) ! stmt_to_print = gsi_stmt (gsi); } ! } ! ! if (dump_file && (dump_flags & TDF_DETAILS)) ! { ! fputs ("With: ", dump_file); ! print_gimple_stmt (dump_file, stmt_to_print, 0, 0); ! fputs ("\n", dump_file); } } *************** create_add_on_incoming_edge (slsr_cand_t *** 2193,2200 **** widest_int increment, edge e, location_t loc, bool known_stride) { - basic_block insert_bb; - gimple_stmt_iterator gsi; tree lhs, basis_type; gassign *new_stmt, *cast_stmt = NULL; --- 2199,2204 ---- *************** create_add_on_incoming_edge (slsr_cand_t *** 2263,2301 **** } } ! insert_bb = single_succ_p (e->src) ? e->src : split_edge (e); ! gsi = gsi_last_bb (insert_bb); ! ! if (!gsi_end_p (gsi) && stmt_ends_bb_p (gsi_stmt (gsi))) ! { ! gsi_insert_before (&gsi, new_stmt, GSI_SAME_STMT); ! if (cast_stmt) ! { ! gsi_insert_before (&gsi, cast_stmt, GSI_SAME_STMT); ! gimple_set_location (cast_stmt, loc); ! } ! } ! else { ! if (cast_stmt) ! { ! gsi_insert_after (&gsi, cast_stmt, GSI_NEW_STMT); ! gimple_set_location (cast_stmt, loc); ! } ! gsi_insert_after (&gsi, new_stmt, GSI_NEW_STMT); } gimple_set_location (new_stmt, loc); if (dump_file && (dump_flags & TDF_DETAILS)) { if (cast_stmt) { ! fprintf (dump_file, "Inserting cast in block %d: ", ! insert_bb->index); print_gimple_stmt (dump_file, cast_stmt, 0, 0); } ! fprintf (dump_file, "Inserting in block %d: ", insert_bb->index); print_gimple_stmt (dump_file, new_stmt, 0, 0); } --- 2267,2291 ---- } } ! if (cast_stmt) { ! gimple_set_location (cast_stmt, loc); ! gsi_insert_on_edge (e, cast_stmt); } gimple_set_location (new_stmt, loc); + gsi_insert_on_edge (e, new_stmt); if (dump_file && (dump_flags & TDF_DETAILS)) { if (cast_stmt) { ! fprintf (dump_file, "Inserting cast on edge %d->%d: ", ! e->src->index, e->dest->index); print_gimple_stmt (dump_file, cast_stmt, 0, 0); } ! fprintf (dump_file, "Inserting on edge %d->%d: ", e->src->index, ! e->dest->index); print_gimple_stmt (dump_file, new_stmt, 0, 0); } *************** insert_initializers (slsr_cand_t c) *** 3217,3222 **** --- 3207,3229 ---- that block, the earliest one will be returned in WHERE. */ bb = nearest_common_dominator_for_cands (c, incr, &where); + /* If the NCD is not dominated by the block containing the + definition of the stride, we can't legally insert a + single initializer. Mark the increment as unprofitable + so we don't make any replacements. FIXME: Multiple + initializers could be placed with more analysis. */ + gimple *stride_def = SSA_NAME_DEF_STMT (c->stride); + basic_block stride_bb = gimple_bb (stride_def); + + if (stride_bb && !dominated_by_p (CDI_DOMINATORS, bb, stride_bb)) + { + if (dump_file && (dump_flags & TDF_DETAILS)) + fprintf (dump_file, + "Initializer #%d cannot be legally placed\n", i); + incr_vec[i].cost = COST_INFINITE; + continue; + } + /* If the nominal stride has a different type than the recorded stride type, build a cast from the nominal stride to that type. */ if (!types_compatible_p (TREE_TYPE (c->stride), c->stride_type)) *************** analyze_candidates_and_replace (void) *** 3736,3741 **** --- 3743,3752 ---- free (incr_vec); } } + + /* For conditional candidates, we may have uncommitted insertions + on edges to clean up. */ + gsi_commit_edge_inserts (); } namespace { diff -Nrcpad gcc-7.2.0/gcc/gimplify.c gcc-7.3.0/gcc/gimplify.c *** gcc-7.2.0/gcc/gimplify.c Thu Jun 22 11:41:09 2017 --- gcc-7.3.0/gcc/gimplify.c Tue Nov 21 16:02:04 2017 *************** expand_FALLTHROUGH_r (gimple_stmt_iterat *** 2212,2219 **** break; } } else ! /* Something other than a label. That's not expected. */ break; gsi_next (&gsi2); } --- 2212,2221 ---- break; } } + else if (gimple_call_internal_p (stmt, IFN_ASAN_MARK)) + ; else ! /* Something other is not expected. */ break; gsi_next (&gsi2); } *************** gimplify_modify_expr (tree *expr_p, gimp *** 5434,5440 **** side as statements and throw away the assignment. Do this after gimplify_modify_expr_rhs so we handle TARGET_EXPRs of addressable types properly. */ ! if (zero_sized_type (TREE_TYPE (*from_p)) && !want_value) { gimplify_stmt (from_p, pre_p); gimplify_stmt (to_p, pre_p); --- 5436,5447 ---- side as statements and throw away the assignment. Do this after gimplify_modify_expr_rhs so we handle TARGET_EXPRs of addressable types properly. */ ! if (zero_sized_type (TREE_TYPE (*from_p)) ! && !want_value ! /* Don't do this for calls that return addressable types, expand_call ! relies on those having a lhs. */ ! && !(TREE_ADDRESSABLE (TREE_TYPE (*from_p)) ! && TREE_CODE (*from_p) == CALL_EXPR)) { gimplify_stmt (from_p, pre_p); gimplify_stmt (to_p, pre_p); diff -Nrcpad gcc-7.2.0/gcc/go/ChangeLog gcc-7.3.0/gcc/go/ChangeLog *** gcc-7.2.0/gcc/go/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/go/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/hwint.h gcc-7.3.0/gcc/hwint.h *** gcc-7.2.0/gcc/hwint.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/hwint.h Fri Dec 15 11:31:42 2017 *************** *** 14,19 **** --- 14,20 ---- #define HOST_BITS_PER_SHORT (CHAR_BIT * SIZEOF_SHORT) #define HOST_BITS_PER_INT (CHAR_BIT * SIZEOF_INT) #define HOST_BITS_PER_LONG (CHAR_BIT * SIZEOF_LONG) + #define HOST_BITS_PER_PTR (CHAR_BIT * SIZEOF_VOID_P) /* The string that should be inserted into a printf style format to indicate a "long" operand. */ diff -Nrcpad gcc-7.2.0/gcc/internal-fn.c gcc-7.3.0/gcc/internal-fn.c *** gcc-7.2.0/gcc/internal-fn.c Tue Mar 28 17:24:57 2017 --- gcc-7.3.0/gcc/internal-fn.c Fri Oct 13 17:26:28 2017 *************** expand_mul_overflow (location_t loc, tre *** 1754,1761 **** } /* At this point hipart{0,1} are both in [-1, 0]. If they are ! the same, overflow happened if res is negative, if they are ! different, overflow happened if res is positive. */ if (op0_sign != 1 && op1_sign != 1 && op0_sign != op1_sign) emit_jump (hipart_different); else if (op0_sign == 1 || op1_sign == 1) --- 1754,1761 ---- } /* At this point hipart{0,1} are both in [-1, 0]. If they are ! the same, overflow happened if res is non-positive, if they ! are different, overflow happened if res is positive. */ if (op0_sign != 1 && op1_sign != 1 && op0_sign != op1_sign) emit_jump (hipart_different); else if (op0_sign == 1 || op1_sign == 1) *************** expand_mul_overflow (location_t loc, tre *** 1763,1769 **** NULL_RTX, NULL, hipart_different, PROB_EVEN); ! do_compare_rtx_and_jump (res, const0_rtx, LT, false, mode, NULL_RTX, NULL, do_error, PROB_VERY_UNLIKELY); emit_jump (done_label); --- 1763,1769 ---- NULL_RTX, NULL, hipart_different, PROB_EVEN); ! do_compare_rtx_and_jump (res, const0_rtx, LE, false, mode, NULL_RTX, NULL, do_error, PROB_VERY_UNLIKELY); emit_jump (done_label); diff -Nrcpad gcc-7.2.0/gcc/ipa-cp.c gcc-7.3.0/gcc/ipa-cp.c *** gcc-7.2.0/gcc/ipa-cp.c Tue Apr 11 16:37:31 2017 --- gcc-7.3.0/gcc/ipa-cp.c Wed Nov 29 22:13:34 2017 *************** ipa_get_jf_pass_through_result (struct i *** 1224,1243 **** if (!is_gimple_ip_invariant (input)) return NULL_TREE; ! if (TREE_CODE_CLASS (ipa_get_jf_pass_through_operation (jfunc)) ! == tcc_unary) ! res = fold_unary (ipa_get_jf_pass_through_operation (jfunc), ! TREE_TYPE (input), input); else ! { ! if (TREE_CODE_CLASS (ipa_get_jf_pass_through_operation (jfunc)) ! == tcc_comparison) ! restype = boolean_type_node; ! else ! restype = TREE_TYPE (input); ! res = fold_binary (ipa_get_jf_pass_through_operation (jfunc), restype, ! input, ipa_get_jf_pass_through_operand (jfunc)); ! } if (res && !is_gimple_ip_invariant (res)) return NULL_TREE; --- 1224,1243 ---- if (!is_gimple_ip_invariant (input)) return NULL_TREE; ! tree_code opcode = ipa_get_jf_pass_through_operation (jfunc); ! if (TREE_CODE_CLASS (opcode) == tcc_comparison) ! restype = boolean_type_node; ! else if (expr_type_first_operand_type_p (opcode)) ! restype = TREE_TYPE (input); else ! return NULL_TREE; ! ! if (TREE_CODE_CLASS (opcode) == tcc_unary) ! res = fold_unary (opcode, restype, input); ! else ! res = fold_binary (opcode, restype, input, ! ipa_get_jf_pass_through_operand (jfunc)); ! if (res && !is_gimple_ip_invariant (res)) return NULL_TREE; diff -Nrcpad gcc-7.2.0/gcc/ipa-icf-gimple.c gcc-7.3.0/gcc/ipa-icf-gimple.c *** gcc-7.2.0/gcc/ipa-icf-gimple.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/ipa-icf-gimple.c Fri Sep 15 08:19:15 2017 *************** func_checker::compare_cst_or_decl (tree *** 361,370 **** } case LABEL_DECL: { int *bb1 = m_label_bb_map.get (t1); int *bb2 = m_label_bb_map.get (t2); ! return return_with_debug (*bb1 == *bb2); } case PARM_DECL: case RESULT_DECL: --- 361,374 ---- } case LABEL_DECL: { + if (t1 == t2) + return true; + int *bb1 = m_label_bb_map.get (t1); int *bb2 = m_label_bb_map.get (t2); ! /* Labels can point to another function (non-local GOTOs). */ ! return return_with_debug (bb1 != NULL && bb2 != NULL && *bb1 == *bb2); } case PARM_DECL: case RESULT_DECL: *************** func_checker::compare_operand (tree t1, *** 539,549 **** } } - /* Compares two tree list operands T1 and T2 and returns true if these - two trees are semantically equivalent. */ - bool ! func_checker::compare_tree_list_operand (tree t1, tree t2) { gcc_assert (TREE_CODE (t1) == TREE_LIST); gcc_assert (TREE_CODE (t2) == TREE_LIST); --- 543,550 ---- } } bool ! func_checker::compare_asm_inputs_outputs (tree t1, tree t2) { gcc_assert (TREE_CODE (t1) == TREE_LIST); gcc_assert (TREE_CODE (t2) == TREE_LIST); *************** func_checker::compare_tree_list_operand *** 556,561 **** --- 557,572 ---- if (!compare_operand (TREE_VALUE (t1), TREE_VALUE (t2))) return return_false (); + tree p1 = TREE_PURPOSE (t1); + tree p2 = TREE_PURPOSE (t2); + + gcc_assert (TREE_CODE (p1) == TREE_LIST); + gcc_assert (TREE_CODE (p2) == TREE_LIST); + + if (strcmp (TREE_STRING_POINTER (TREE_VALUE (p1)), + TREE_STRING_POINTER (TREE_VALUE (p2))) != 0) + return return_false (); + t2 = TREE_CHAIN (t2); } *************** func_checker::compare_gimple_asm (const *** 1004,1010 **** tree input1 = gimple_asm_input_op (g1, i); tree input2 = gimple_asm_input_op (g2, i); ! if (!compare_tree_list_operand (input1, input2)) return return_false_with_msg ("ASM input is different"); } --- 1015,1021 ---- tree input1 = gimple_asm_input_op (g1, i); tree input2 = gimple_asm_input_op (g2, i); ! if (!compare_asm_inputs_outputs (input1, input2)) return return_false_with_msg ("ASM input is different"); } *************** func_checker::compare_gimple_asm (const *** 1013,1019 **** tree output1 = gimple_asm_output_op (g1, i); tree output2 = gimple_asm_output_op (g2, i); ! if (!compare_tree_list_operand (output1, output2)) return return_false_with_msg ("ASM output is different"); } --- 1024,1030 ---- tree output1 = gimple_asm_output_op (g1, i); tree output2 = gimple_asm_output_op (g2, i); ! if (!compare_asm_inputs_outputs (output1, output2)) return return_false_with_msg ("ASM output is different"); } diff -Nrcpad gcc-7.2.0/gcc/ipa-icf-gimple.h gcc-7.3.0/gcc/ipa-icf-gimple.h *** gcc-7.2.0/gcc/ipa-icf-gimple.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/ipa-icf-gimple.h Fri Sep 15 08:19:15 2017 *************** public: *** 215,223 **** is returned. */ bool compare_operand (tree t1, tree t2); ! /* Compares two tree list operands T1 and T2 and returns true if these ! two trees are semantically equivalent. */ ! bool compare_tree_list_operand (tree t1, tree t2); /* Verifies that trees T1 and T2, representing function declarations are equivalent from perspective of ICF. */ --- 215,223 ---- is returned. */ bool compare_operand (tree t1, tree t2); ! /* Compares GIMPLE ASM inputs (or outputs) where we iterate tree chain ! and compare both TREE_PURPOSEs and TREE_VALUEs. */ ! bool compare_asm_inputs_outputs (tree t1, tree t2); /* Verifies that trees T1 and T2, representing function declarations are equivalent from perspective of ICF. */ diff -Nrcpad gcc-7.2.0/gcc/ipa-icf.c gcc-7.3.0/gcc/ipa-icf.c *** gcc-7.2.0/gcc/ipa-icf.c Mon Jan 23 13:01:31 2017 --- gcc-7.3.0/gcc/ipa-icf.c Wed Jan 17 11:46:31 2018 *************** sem_function::merge (sem_item *alias_ite *** 1116,1121 **** --- 1116,1132 ---- return false; } + if (!original->in_same_comdat_group_p (alias) + || original->comdat_local_p ()) + { + if (dump_file) + fprintf (dump_file, + "Not unifying; alias nor wrapper cannot be created; " + "across comdat group boundary\n\n"); + + return false; + } + /* See if original is in a section that can be discarded if the main symbol is not used. */ diff -Nrcpad gcc-7.2.0/gcc/ipa-inline-analysis.c gcc-7.3.0/gcc/ipa-inline-analysis.c *** gcc-7.2.0/gcc/ipa-inline-analysis.c Mon Apr 3 22:30:56 2017 --- gcc-7.3.0/gcc/ipa-inline-analysis.c Wed Jan 17 11:45:48 2018 *************** compute_inline_parameters (struct cgraph *** 2994,2999 **** --- 2994,3004 ---- info->inlinable = false; node->callees->inline_failed = CIF_CHKP; } + else if (stdarg_p (TREE_TYPE (node->decl))) + { + info->inlinable = false; + node->callees->inline_failed = CIF_VARIADIC_THUNK; + } else info->inlinable = true; } diff -Nrcpad gcc-7.2.0/gcc/ipa-inline.c gcc-7.3.0/gcc/ipa-inline.c *** gcc-7.2.0/gcc/ipa-inline.c Mon Feb 13 21:56:13 2017 --- gcc-7.3.0/gcc/ipa-inline.c Fri Dec 22 08:50:30 2017 *************** dump_inline_stats (void) *** 2358,2363 **** --- 2358,2376 ---- (int) reason[i][2], (int) reason[i][1], reason[i][0]); } + /* Called when node is removed. */ + + static void + flatten_remove_node_hook (struct cgraph_node *node, void *data) + { + if (lookup_attribute ("flatten", DECL_ATTRIBUTES (node->decl)) == NULL) + return; + + hash_set *removed + = (hash_set *) data; + removed->add (node); + } + /* Decide on the inlining. We do so in the topological order to avoid expenses on updating data structures. */ *************** ipa_inline (void) *** 2367,2373 **** struct cgraph_node *node; int nnodes; struct cgraph_node **order; ! int i; int cold; bool remove_functions = false; --- 2380,2386 ---- struct cgraph_node *node; int nnodes; struct cgraph_node **order; ! int i, j; int cold; bool remove_functions = false; *************** ipa_inline (void) *** 2408,2433 **** if (dump_file) fprintf (dump_file, "\nFlattening functions:\n"); /* In the first pass handle functions to be flattened. Do this with a priority so none of our later choices will make this impossible. */ ! for (i = nnodes - 1; i >= 0; i--) { node = order[i]; /* Handle nodes to be flattened. Ideally when processing callees we stop inlining at the entry of cycles, possibly cloning that entry point and try to flatten itself turning it into a self-recursive function. */ ! if (lookup_attribute ("flatten", ! DECL_ATTRIBUTES (node->decl)) != NULL) ! { ! if (dump_file) ! fprintf (dump_file, ! "Flattening %s\n", node->name ()); ! flatten_function (node, false); ! } } if (dump_file) dump_overall_stats (); --- 2421,2476 ---- if (dump_file) fprintf (dump_file, "\nFlattening functions:\n"); + /* First shrink order array, so that it only contains nodes with + flatten attribute. */ + for (i = nnodes - 1, j = i; i >= 0; i--) + { + node = order[i]; + if (lookup_attribute ("flatten", + DECL_ATTRIBUTES (node->decl)) != NULL) + order[j--] = order[i]; + } + + /* After the above loop, order[j + 1] ... order[nnodes - 1] contain + nodes with flatten attribute. If there is more than one such + node, we need to register a node removal hook, as flatten_function + could remove other nodes with flatten attribute. See PR82801. */ + struct cgraph_node_hook_list *node_removal_hook_holder = NULL; + hash_set *flatten_removed_nodes = NULL; + if (j < nnodes - 2) + { + flatten_removed_nodes = new hash_set; + node_removal_hook_holder + = symtab->add_cgraph_removal_hook (&flatten_remove_node_hook, + flatten_removed_nodes); + } + /* In the first pass handle functions to be flattened. Do this with a priority so none of our later choices will make this impossible. */ ! for (i = nnodes - 1; i > j; i--) { node = order[i]; + if (flatten_removed_nodes + && flatten_removed_nodes->contains (node)) + continue; /* Handle nodes to be flattened. Ideally when processing callees we stop inlining at the entry of cycles, possibly cloning that entry point and try to flatten itself turning it into a self-recursive function. */ ! if (dump_file) ! fprintf (dump_file, "Flattening %s\n", node->name ()); ! flatten_function (node, false); ! } ! ! if (j < nnodes - 2) ! { ! symtab->remove_cgraph_removal_hook (node_removal_hook_holder); ! delete flatten_removed_nodes; } + free (order); + if (dump_file) dump_overall_stats (); *************** ipa_inline (void) *** 2439,2445 **** inline functions and virtual functions so we really know what is called once. */ symtab->remove_unreachable_nodes (dump_file); - free (order); /* Inline functions with a property that after inlining into all callers the code size will shrink because the out-of-line copy is eliminated. --- 2482,2487 ---- diff -Nrcpad gcc-7.2.0/gcc/ipa-visibility.c gcc-7.3.0/gcc/ipa-visibility.c *** gcc-7.2.0/gcc/ipa-visibility.c Thu Apr 13 08:04:52 2017 --- gcc-7.3.0/gcc/ipa-visibility.c Fri Sep 15 08:12:30 2017 *************** non_local_p (struct cgraph_node *node, v *** 97,103 **** && !DECL_EXTERNAL (node->decl) && !node->externally_visible && !node->used_from_other_partition ! && !node->in_other_partition); } /* Return true when function can be marked local. */ --- 97,104 ---- && !DECL_EXTERNAL (node->decl) && !node->externally_visible && !node->used_from_other_partition ! && !node->in_other_partition ! && node->get_availability () >= AVAIL_AVAILABLE); } /* Return true when function can be marked local. */ diff -Nrcpad gcc-7.2.0/gcc/ira-costs.c gcc-7.3.0/gcc/ira-costs.c *** gcc-7.2.0/gcc/ira-costs.c Thu Feb 16 06:35:29 2017 --- gcc-7.3.0/gcc/ira-costs.c Tue Jan 16 09:51:57 2018 *************** scan_one_insn (rtx_insn *insn) *** 1485,1491 **** && targetm.legitimate_constant_p (GET_MODE (SET_DEST (set)), XEXP (note, 0)) && REG_N_SETS (REGNO (SET_DEST (set))) == 1)) ! && general_operand (SET_SRC (set), GET_MODE (SET_SRC (set)))) { enum reg_class cl = GENERAL_REGS; rtx reg = SET_DEST (set); --- 1485,1494 ---- && targetm.legitimate_constant_p (GET_MODE (SET_DEST (set)), XEXP (note, 0)) && REG_N_SETS (REGNO (SET_DEST (set))) == 1)) ! && general_operand (SET_SRC (set), GET_MODE (SET_SRC (set))) ! /* LRA does not use equiv with a symbol for PIC code. */ ! && (! ira_use_lra_p || ! pic_offset_table_rtx ! || ! contains_symbol_ref_p (XEXP (note, 0)))) { enum reg_class cl = GENERAL_REGS; rtx reg = SET_DEST (set); diff -Nrcpad gcc-7.2.0/gcc/ira.c gcc-7.3.0/gcc/ira.c *** gcc-7.2.0/gcc/ira.c Wed Apr 19 10:03:35 2017 --- gcc-7.3.0/gcc/ira.c Wed Oct 18 21:13:16 2017 *************** rtx_moveable_p (rtx *loc, enum op_type t *** 4406,4411 **** --- 4406,4417 ---- for a reason. */ return false; + case ASM_OPERANDS: + /* The same is true for volatile asm: it has unknown side effects, it + cannot be moved at will. */ + if (MEM_VOLATILE_P (x)) + return false; + default: break; } diff -Nrcpad gcc-7.2.0/gcc/is-a.h gcc-7.3.0/gcc/is-a.h *** gcc-7.2.0/gcc/is-a.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/is-a.h Tue Sep 26 10:16:40 2017 *************** TYPE dyn_cast (pointer) *** 103,108 **** --- 103,113 ---- Note that we have converted two sets of assertions in the calls to varpool into safe and efficient use of a variable. + TYPE safe_dyn_cast (pointer) + + Like dyn_cast (pointer), except that it accepts null pointers + and returns null results for them. + If you use these functions and get a 'inline function not defined' or a 'missing symbol' error message for 'is_a_helper<....>::test', it means that *************** dyn_cast (U *p) *** 222,225 **** --- 227,239 ---- return static_cast (0); } + /* Similar to dyn_cast, except that the pointer may be null. */ + + template + inline T + safe_dyn_cast (U *p) + { + return p ? dyn_cast (p) : 0; + } + #endif /* GCC_IS_A_H */ diff -Nrcpad gcc-7.2.0/gcc/jit/ChangeLog gcc-7.3.0/gcc/jit/ChangeLog *** gcc-7.2.0/gcc/jit/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/jit/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/langhooks-def.h gcc-7.3.0/gcc/langhooks-def.h *** gcc-7.2.0/gcc/langhooks-def.h Thu Jan 19 17:27:54 2017 --- gcc-7.3.0/gcc/langhooks-def.h Wed Oct 4 17:47:08 2017 *************** extern tree lhd_unit_size_without_reusab *** 184,189 **** --- 184,190 ---- lhd_omp_firstprivatize_type_sizes #define LANG_HOOKS_OMP_MAPPABLE_TYPE lhd_omp_mappable_type #define LANG_HOOKS_TYPE_HASH_EQ NULL + #define LANG_HOOKS_COPY_LANG_QUALIFIERS NULL #define LANG_HOOKS_GET_ARRAY_DESCR_INFO NULL #define LANG_HOOKS_GET_SUBRANGE_BOUNDS NULL #define LANG_HOOKS_GET_TYPE_BIAS NULL *************** extern tree lhd_unit_size_without_reusab *** 209,214 **** --- 210,216 ---- LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES, \ LANG_HOOKS_OMP_MAPPABLE_TYPE, \ LANG_HOOKS_TYPE_HASH_EQ, \ + LANG_HOOKS_COPY_LANG_QUALIFIERS, \ LANG_HOOKS_GET_ARRAY_DESCR_INFO, \ LANG_HOOKS_GET_SUBRANGE_BOUNDS, \ LANG_HOOKS_GET_TYPE_BIAS, \ diff -Nrcpad gcc-7.2.0/gcc/langhooks.h gcc-7.3.0/gcc/langhooks.h *** gcc-7.2.0/gcc/langhooks.h Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/langhooks.h Wed Oct 4 17:47:08 2017 *************** struct lang_hooks_for_types *** 123,128 **** --- 123,132 ---- FUNCTION_TYPE or METHOD_TYPE. */ bool (*type_hash_eq) (const_tree, const_tree); + /* If non-NULL, return TYPE1 with any language-specific modifiers copied from + TYPE2. */ + tree (*copy_lang_qualifiers) (const_tree, const_tree); + /* Return TRUE if TYPE uses a hidden descriptor and fills in information for the debugger about the array bounds, strides, etc. */ bool (*get_array_descr_info) (const_tree, struct array_descr_info *); diff -Nrcpad gcc-7.2.0/gcc/lra-constraints.c gcc-7.3.0/gcc/lra-constraints.c *** gcc-7.2.0/gcc/lra-constraints.c Tue Apr 11 19:39:59 2017 --- gcc-7.3.0/gcc/lra-constraints.c Tue Nov 7 07:44:58 2017 *************** curr_insn_transform (bool check_only_p) *** 4222,4229 **** reg = SUBREG_REG (*loc); byte = SUBREG_BYTE (*loc); if (REG_P (reg) ! /* Strict_low_part requires reload the register not ! the sub-register. */ && (curr_static_id->operand[i].strict_low || (GET_MODE_SIZE (mode) <= GET_MODE_SIZE (GET_MODE (reg)) --- 4222,4230 ---- reg = SUBREG_REG (*loc); byte = SUBREG_BYTE (*loc); if (REG_P (reg) ! /* Strict_low_part requires reloading the register and not ! just the subreg. Likewise for a strict subreg no wider ! than a word for WORD_REGISTER_OPERATIONS targets. */ && (curr_static_id->operand[i].strict_low || (GET_MODE_SIZE (mode) <= GET_MODE_SIZE (GET_MODE (reg)) *************** curr_insn_transform (bool check_only_p) *** 4235,4241 **** && (goal_alt[i] == NO_REGS || (simplify_subreg_regno (ira_class_hard_regs[goal_alt[i]][0], ! GET_MODE (reg), byte, mode) >= 0))))) { /* An OP_INOUT is required when reloading a subreg of a mode wider than a word to ensure that data beyond the --- 4236,4246 ---- && (goal_alt[i] == NO_REGS || (simplify_subreg_regno (ira_class_hard_regs[goal_alt[i]][0], ! GET_MODE (reg), byte, mode) >= 0))) ! || (GET_MODE_PRECISION (mode) ! < GET_MODE_PRECISION (GET_MODE (reg)) ! && GET_MODE_SIZE (GET_MODE (reg)) <= UNITS_PER_WORD ! && WORD_REGISTER_OPERATIONS))) { /* An OP_INOUT is required when reloading a subreg of a mode wider than a word to ensure that data beyond the *************** curr_insn_transform (bool check_only_p) *** 4284,4290 **** } else if (curr_static_id->operand[i].type == OP_IN && (curr_static_id->operand[goal_alt_matched[i][0]].type ! == OP_OUT)) { /* generate reloads for input and matched outputs. */ match_inputs[0] = i; --- 4289,4301 ---- } else if (curr_static_id->operand[i].type == OP_IN && (curr_static_id->operand[goal_alt_matched[i][0]].type ! == OP_OUT ! || (curr_static_id->operand[goal_alt_matched[i][0]].type ! == OP_INOUT ! && (operands_match_p ! (*curr_id->operand_loc[i], ! *curr_id->operand_loc[goal_alt_matched[i][0]], ! -1))))) { /* generate reloads for input and matched outputs. */ match_inputs[0] = i; *************** curr_insn_transform (bool check_only_p) *** 4295,4303 **** [goal_alt_number * n_operands + goal_alt_matched[i][0]] .earlyclobber); } ! else if (curr_static_id->operand[i].type == OP_OUT && (curr_static_id->operand[goal_alt_matched[i][0]].type ! == OP_IN)) /* Generate reloads for output and matched inputs. */ match_reload (i, goal_alt_matched[i], outputs, goal_alt[i], &before, &after, curr_static_id->operand_alternative --- 4306,4319 ---- [goal_alt_number * n_operands + goal_alt_matched[i][0]] .earlyclobber); } ! else if ((curr_static_id->operand[i].type == OP_OUT ! || (curr_static_id->operand[i].type == OP_INOUT ! && (operands_match_p ! (*curr_id->operand_loc[i], ! *curr_id->operand_loc[goal_alt_matched[i][0]], ! -1)))) && (curr_static_id->operand[goal_alt_matched[i][0]].type ! == OP_IN)) /* Generate reloads for output and matched inputs. */ match_reload (i, goal_alt_matched[i], outputs, goal_alt[i], &before, &after, curr_static_id->operand_alternative diff -Nrcpad gcc-7.2.0/gcc/lra-remat.c gcc-7.3.0/gcc/lra-remat.c *** gcc-7.2.0/gcc/lra-remat.c Thu May 25 15:12:49 2017 --- gcc-7.3.0/gcc/lra-remat.c Thu Sep 7 20:30:58 2017 *************** reg_overlap_for_remat_p (lra_insn_reg *r *** 684,690 **** if (regno2 >= FIRST_PSEUDO_REGISTER && reg_renumber[regno2] >= 0) regno2 = reg_renumber[regno2]; ! if (regno >= FIRST_PSEUDO_REGISTER) nregs2 = 1; else nregs2 = hard_regno_nregs[regno2][reg->biggest_mode]; --- 684,690 ---- if (regno2 >= FIRST_PSEUDO_REGISTER && reg_renumber[regno2] >= 0) regno2 = reg_renumber[regno2]; ! if (regno2 >= FIRST_PSEUDO_REGISTER) nregs2 = 1; else nregs2 = hard_regno_nregs[regno2][reg->biggest_mode]; diff -Nrcpad gcc-7.2.0/gcc/lto/ChangeLog gcc-7.3.0/gcc/lto/ChangeLog *** gcc-7.2.0/gcc/lto/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/lto/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/lto-cgraph.c gcc-7.3.0/gcc/lto-cgraph.c *** gcc-7.2.0/gcc/lto-cgraph.c Wed Jan 11 12:57:42 2017 --- gcc-7.3.0/gcc/lto-cgraph.c Fri Dec 22 18:28:59 2017 *************** input_offload_tables (bool do_force_outp *** 1954,1960 **** static int output_cgraph_opt_summary_p (struct cgraph_node *node) { ! return (node->clone_of && (node->clone.tree_map || node->clone.args_to_skip || node->clone.combined_args_to_skip)); --- 1954,1960 ---- static int output_cgraph_opt_summary_p (struct cgraph_node *node) { ! return ((node->clone_of || node->former_clone_of) && (node->clone.tree_map || node->clone.args_to_skip || node->clone.combined_args_to_skip)); diff -Nrcpad gcc-7.2.0/gcc/objc/ChangeLog gcc-7.3.0/gcc/objc/ChangeLog *** gcc-7.2.0/gcc/objc/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/objc/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/objcp/ChangeLog gcc-7.3.0/gcc/objcp/ChangeLog *** gcc-7.2.0/gcc/objcp/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/objcp/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,7 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/omp-expand.c gcc-7.3.0/gcc/omp-expand.c *** gcc-7.2.0/gcc/omp-expand.c Mon Apr 3 22:30:56 2017 --- gcc-7.3.0/gcc/omp-expand.c Thu Sep 7 20:40:06 2017 *************** expand_omp_simd (struct omp_region *regi *** 4725,4748 **** tree itype2 = TREE_TYPE (fd->loops[i - 1].v); if (POINTER_TYPE_P (itype2)) itype2 = signed_type_for (itype2); t = build3 (COND_EXPR, itype2, build2 (fd->loops[i].cond_code, boolean_type_node, fd->loops[i].v, fold_convert (itype, fd->loops[i].n2)), ! build_int_cst (itype2, 0), ! fold_convert (itype2, fd->loops[i - 1].step)); if (POINTER_TYPE_P (TREE_TYPE (fd->loops[i - 1].v))) t = fold_build_pointer_plus (fd->loops[i - 1].v, t); else t = fold_build2 (PLUS_EXPR, itype2, fd->loops[i - 1].v, t); expand_omp_build_assign (&gsi, fd->loops[i - 1].v, t); t = build3 (COND_EXPR, itype, build2 (fd->loops[i].cond_code, boolean_type_node, fd->loops[i].v, fold_convert (itype, fd->loops[i].n2)), ! fd->loops[i].v, ! fold_convert (itype, fd->loops[i].n1)); expand_omp_build_assign (&gsi, fd->loops[i].v, t); } } --- 4725,4752 ---- tree itype2 = TREE_TYPE (fd->loops[i - 1].v); if (POINTER_TYPE_P (itype2)) itype2 = signed_type_for (itype2); + t = fold_convert (itype2, fd->loops[i - 1].step); + t = force_gimple_operand_gsi (&gsi, t, true, NULL_TREE, true, + GSI_SAME_STMT); t = build3 (COND_EXPR, itype2, build2 (fd->loops[i].cond_code, boolean_type_node, fd->loops[i].v, fold_convert (itype, fd->loops[i].n2)), ! build_int_cst (itype2, 0), t); if (POINTER_TYPE_P (TREE_TYPE (fd->loops[i - 1].v))) t = fold_build_pointer_plus (fd->loops[i - 1].v, t); else t = fold_build2 (PLUS_EXPR, itype2, fd->loops[i - 1].v, t); expand_omp_build_assign (&gsi, fd->loops[i - 1].v, t); + t = fold_convert (itype, fd->loops[i].n1); + t = force_gimple_operand_gsi (&gsi, t, true, NULL_TREE, true, + GSI_SAME_STMT); t = build3 (COND_EXPR, itype, build2 (fd->loops[i].cond_code, boolean_type_node, fd->loops[i].v, fold_convert (itype, fd->loops[i].n2)), ! fd->loops[i].v, t); expand_omp_build_assign (&gsi, fd->loops[i].v, t); } } diff -Nrcpad gcc-7.2.0/gcc/omp-low.c gcc-7.3.0/gcc/omp-low.c *** gcc-7.2.0/gcc/omp-low.c Fri May 26 10:14:37 2017 --- gcc-7.3.0/gcc/omp-low.c Thu Sep 7 20:41:42 2017 *************** omp_copy_decl (tree var, copy_body_data *** 800,805 **** --- 800,807 ---- if (TREE_CODE (var) == LABEL_DECL) { + if (FORCED_LABEL (var) || DECL_NONLOCAL (var)) + return var; new_var = create_artificial_label (DECL_SOURCE_LOCATION (var)); DECL_CONTEXT (new_var) = current_function_decl; insert_decl_map (&ctx->cb, var, new_var); *************** lower_omp_for (gimple_stmt_iterator *gsi *** 6925,6934 **** --- 6927,6940 ---- rhs_p = gimple_omp_for_initial_ptr (stmt, i); if (!is_gimple_min_invariant (*rhs_p)) *rhs_p = get_formal_tmp_var (*rhs_p, &body); + else if (TREE_CODE (*rhs_p) == ADDR_EXPR) + recompute_tree_invariant_for_addr_expr (*rhs_p); rhs_p = gimple_omp_for_final_ptr (stmt, i); if (!is_gimple_min_invariant (*rhs_p)) *rhs_p = get_formal_tmp_var (*rhs_p, &body); + else if (TREE_CODE (*rhs_p) == ADDR_EXPR) + recompute_tree_invariant_for_addr_expr (*rhs_p); rhs_p = &TREE_OPERAND (gimple_omp_for_incr (stmt, i), 1); if (!is_gimple_min_invariant (*rhs_p)) *************** diagnose_sb_0 (gimple_stmt_iterator *gsi *** 9089,9095 **** } if (kind == NULL) { ! gcc_checking_assert (flag_openmp); kind = "OpenMP"; } --- 9095,9101 ---- } if (kind == NULL) { ! gcc_checking_assert (flag_openmp || flag_openmp_simd); kind = "OpenMP"; } *************** public: *** 9349,9355 **** /* opt_pass methods: */ virtual bool gate (function *) { ! return flag_cilkplus || flag_openacc || flag_openmp; } virtual unsigned int execute (function *) { --- 9355,9361 ---- /* opt_pass methods: */ virtual bool gate (function *) { ! return flag_cilkplus || flag_openacc || flag_openmp || flag_openmp_simd; } virtual unsigned int execute (function *) { diff -Nrcpad gcc-7.2.0/gcc/opts-common.c gcc-7.3.0/gcc/opts-common.c *** gcc-7.2.0/gcc/opts-common.c Fri Feb 24 23:15:56 2017 --- gcc-7.3.0/gcc/opts-common.c Fri Sep 15 08:18:34 2017 *************** handle_option (struct gcc_options *opts, *** 988,994 **** { if (!handlers->handlers[i].handler (opts, opts_set, decoded, lang_mask, kind, loc, ! handlers, dc)) return false; } --- 988,995 ---- { if (!handlers->handlers[i].handler (opts, opts_set, decoded, lang_mask, kind, loc, ! handlers, dc, ! handlers->target_option_override_hook)) return false; } diff -Nrcpad gcc-7.2.0/gcc/opts-global.c gcc-7.3.0/gcc/opts-global.c *** gcc-7.2.0/gcc/opts-global.c Sun Jan 1 12:07:43 2017 --- gcc-7.3.0/gcc/opts-global.c Fri Sep 15 08:18:34 2017 *************** lang_handle_option (struct gcc_options * *** 167,173 **** unsigned int lang_mask ATTRIBUTE_UNUSED, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc) { gcc_assert (opts == &global_options); gcc_assert (opts_set == &global_options_set); --- 167,174 ---- unsigned int lang_mask ATTRIBUTE_UNUSED, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc, ! void (*) (void)) { gcc_assert (opts == &global_options); gcc_assert (opts_set == &global_options_set); *************** decode_cmdline_options_to_array_default_ *** 267,276 **** /* Set *HANDLERS to the default set of option handlers for use in the compilers proper (not the driver). */ void ! set_default_handlers (struct cl_option_handlers *handlers) { handlers->unknown_option_callback = unknown_option_callback; handlers->wrong_lang_callback = complain_wrong_lang; handlers->num_handlers = 3; handlers->handlers[0].handler = lang_handle_option; handlers->handlers[0].mask = initial_lang_mask; --- 268,279 ---- /* Set *HANDLERS to the default set of option handlers for use in the compilers proper (not the driver). */ void ! set_default_handlers (struct cl_option_handlers *handlers, ! void (*target_option_override_hook) (void)) { handlers->unknown_option_callback = unknown_option_callback; handlers->wrong_lang_callback = complain_wrong_lang; + handlers->target_option_override_hook = target_option_override_hook; handlers->num_handlers = 3; handlers->handlers[0].handler = lang_handle_option; handlers->handlers[0].mask = initial_lang_mask; *************** void *** 288,294 **** decode_options (struct gcc_options *opts, struct gcc_options *opts_set, struct cl_decoded_option *decoded_options, unsigned int decoded_options_count, ! location_t loc, diagnostic_context *dc) { struct cl_option_handlers handlers; --- 291,298 ---- decode_options (struct gcc_options *opts, struct gcc_options *opts_set, struct cl_decoded_option *decoded_options, unsigned int decoded_options_count, ! location_t loc, diagnostic_context *dc, ! void (*target_option_override_hook) (void)) { struct cl_option_handlers handlers; *************** decode_options (struct gcc_options *opts *** 296,302 **** lang_mask = initial_lang_mask; ! set_default_handlers (&handlers); default_options_optimization (opts, opts_set, decoded_options, decoded_options_count, --- 300,306 ---- lang_mask = initial_lang_mask; ! set_default_handlers (&handlers, target_option_override_hook); default_options_optimization (opts, opts_set, decoded_options, decoded_options_count, diff -Nrcpad gcc-7.2.0/gcc/opts.c gcc-7.3.0/gcc/opts.c *** gcc-7.2.0/gcc/opts.c Thu Jul 27 08:38:35 2017 --- gcc-7.3.0/gcc/opts.c Fri Sep 15 08:18:34 2017 *************** target_handle_option (struct gcc_options *** 217,223 **** unsigned int lang_mask ATTRIBUTE_UNUSED, int kind, location_t loc, const struct cl_option_handlers *handlers ATTRIBUTE_UNUSED, ! diagnostic_context *dc) { gcc_assert (dc == global_dc); gcc_assert (kind == DK_UNSPECIFIED); --- 217,223 ---- unsigned int lang_mask ATTRIBUTE_UNUSED, int kind, location_t loc, const struct cl_option_handlers *handlers ATTRIBUTE_UNUSED, ! diagnostic_context *dc, void (*) (void)) { gcc_assert (dc == global_dc); gcc_assert (kind == DK_UNSPECIFIED); *************** common_handle_option (struct gcc_options *** 1678,1684 **** unsigned int lang_mask, int kind ATTRIBUTE_UNUSED, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc) { size_t scode = decoded->opt_index; const char *arg = decoded->arg; --- 1678,1685 ---- unsigned int lang_mask, int kind ATTRIBUTE_UNUSED, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc, ! void (*target_option_override_hook) (void)) { size_t scode = decoded->opt_index; const char *arg = decoded->arg; *************** common_handle_option (struct gcc_options *** 1705,1710 **** --- 1706,1712 ---- undoc_mask = ((opts->x_verbose_flag | opts->x_extra_warnings) ? 0 : CL_UNDOCUMENTED); + target_option_override_hook (); /* First display any single language specific options. */ for (i = 0; i < cl_lang_count; i++) print_specific_help *************** common_handle_option (struct gcc_options *** 1724,1729 **** --- 1726,1732 ---- if (lang_mask == CL_DRIVER) break; + target_option_override_hook (); print_specific_help (CL_TARGET, CL_UNDOCUMENTED, 0, opts, lang_mask); opts->x_exit_after_options = true; break; *************** common_handle_option (struct gcc_options *** 1850,1857 **** } if (include_flags) ! print_specific_help (include_flags, exclude_flags, 0, opts, ! lang_mask); opts->x_exit_after_options = true; break; } --- 1853,1863 ---- } if (include_flags) ! { ! target_option_override_hook (); ! print_specific_help (include_flags, exclude_flags, 0, opts, ! lang_mask); ! } opts->x_exit_after_options = true; break; } diff -Nrcpad gcc-7.2.0/gcc/opts.h gcc-7.3.0/gcc/opts.h *** gcc-7.2.0/gcc/opts.h Fri Feb 24 23:15:56 2017 --- gcc-7.3.0/gcc/opts.h Fri Sep 15 08:18:34 2017 *************** struct cl_option_handler_func *** 267,273 **** const struct cl_decoded_option *decoded, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc); /* The mask that must have some bit in common with the flags for the option for this particular handler to be used. */ --- 267,274 ---- const struct cl_decoded_option *decoded, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc, ! void (*target_option_override_hook) (void)); /* The mask that must have some bit in common with the flags for the option for this particular handler to be used. */ *************** struct cl_option_handlers *** 289,294 **** --- 290,298 ---- void (*wrong_lang_callback) (const struct cl_decoded_option *decoded, unsigned int lang_mask); + /* Target option override hook. */ + void (*target_option_override_hook) (void); + /* The number of individual handlers. */ size_t num_handlers; *************** extern void decode_cmdline_options_to_ar *** 333,345 **** const char **argv, struct cl_decoded_option **decoded_options, unsigned int *decoded_options_count); ! extern void set_default_handlers (struct cl_option_handlers *handlers); extern void decode_options (struct gcc_options *opts, struct gcc_options *opts_set, struct cl_decoded_option *decoded_options, unsigned int decoded_options_count, location_t loc, ! diagnostic_context *dc); extern int option_enabled (int opt_idx, void *opts); extern bool get_option_state (struct gcc_options *, int, struct cl_option_state *); --- 337,351 ---- const char **argv, struct cl_decoded_option **decoded_options, unsigned int *decoded_options_count); ! extern void set_default_handlers (struct cl_option_handlers *handlers, ! void (*target_option_override_hook) (void)); extern void decode_options (struct gcc_options *opts, struct gcc_options *opts_set, struct cl_decoded_option *decoded_options, unsigned int decoded_options_count, location_t loc, ! diagnostic_context *dc, ! void (*target_option_override_hook) (void)); extern int option_enabled (int opt_idx, void *opts); extern bool get_option_state (struct gcc_options *, int, struct cl_option_state *); *************** extern bool common_handle_option (struct *** 384,397 **** unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc); extern bool target_handle_option (struct gcc_options *opts, struct gcc_options *opts_set, const struct cl_decoded_option *decoded, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc); extern void finish_options (struct gcc_options *opts, struct gcc_options *opts_set, location_t loc); --- 390,405 ---- unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc, ! void (*target_option_override_hook) (void)); extern bool target_handle_option (struct gcc_options *opts, struct gcc_options *opts_set, const struct cl_decoded_option *decoded, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, ! diagnostic_context *dc, ! void (*target_option_override_hook) (void)); extern void finish_options (struct gcc_options *opts, struct gcc_options *opts_set, location_t loc); diff -Nrcpad gcc-7.2.0/gcc/po/ChangeLog gcc-7.3.0/gcc/po/ChangeLog *** gcc-7.2.0/gcc/po/ChangeLog Mon Aug 14 07:59:11 2017 --- gcc-7.3.0/gcc/po/ChangeLog Thu Jan 25 08:17:27 2018 *************** *** 1,3 **** --- 1,33 ---- + 2018-01-25 Release Manager + + * GCC 7.3.0 released. + + 2018-01-22 Joseph Myers + + * es.po: Update. + + 2018-01-09 Joseph Myers + + * es.po: Update. + + 2018-01-01 Joseph Myers + + * es.po: Update. + + 2017-08-21 Joseph Myers + + * de.po: Update. + + 2017-08-16 Joseph Myers + + * fr.po: Update. + + 2017-08-15 Joseph Myers + + * be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, + ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, + zh_TW.po: Update. + 2017-08-14 Release Manager * GCC 7.2.0 released. diff -Nrcpad gcc-7.2.0/gcc/po/be.gmo gcc-7.3.0/gcc/po/be.gmo *** gcc-7.2.0/gcc/po/be.gmo Mon Aug 14 08:30:39 2017 --- gcc-7.3.0/gcc/po/be.gmo Thu Jan 25 08:41:36 2018 *************** For bug reporting instructions, please s *** 20,26 **** missing terminating %c characterno argumentsoptions enabled: previous definition hereprograms: %s section attributes are not supported for this targetsize of array is negativetoo few arguments to functiontoo many arguments to functiontoo many input filesunknown register name: %sunrecognized addressvirtual functions cannot be friendsProject-Id-Version: gcc 3.1 Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/ ! POT-Creation-Date: 2017-05-01 22:24+0000 PO-Revision-Date: 2002-05-17 15:54+0200 Last-Translator: Ales Nyakhaychyk Language-Team: Belarusian --- 20,26 ---- missing terminating %c characterno argumentsoptions enabled: previous definition hereprograms: %s section attributes are not supported for this targetsize of array is negativetoo few arguments to functiontoo many arguments to functiontoo many input filesunknown register name: %sunrecognized addressvirtual functions cannot be friendsProject-Id-Version: gcc 3.1 Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/ ! POT-Creation-Date: 2017-08-04 22:17+0000 PO-Revision-Date: 2002-05-17 15:54+0200 Last-Translator: Ales Nyakhaychyk Language-Team: Belarusian diff -Nrcpad gcc-7.2.0/gcc/po/be.po gcc-7.3.0/gcc/po/be.po *** gcc-7.2.0/gcc/po/be.po Thu May 4 15:54:38 2017 --- gcc-7.3.0/gcc/po/be.po Tue Aug 15 20:39:11 2017 *************** msgid "" *** 6,12 **** msgstr "" "Project-Id-Version: gcc 3.1\n" "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" ! "POT-Creation-Date: 2017-05-01 22:24+0000\n" "PO-Revision-Date: 2002-05-17 15:54+0200\n" "Last-Translator: Ales Nyakhaychyk \n" "Language-Team: Belarusian \n" --- 6,12 ---- msgstr "" "Project-Id-Version: gcc 3.1\n" "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" ! "POT-Creation-Date: 2017-08-04 22:17+0000\n" "PO-Revision-Date: 2002-05-17 15:54+0200\n" "Last-Translator: Ales Nyakhaychyk \n" "Language-Team: Belarusian \n" *************** msgstr "" *** 193,205 **** #. TARGET_PRINT_OPERAND must handle them. #. We can't handle floating point constants; #. PRINT_OPERAND must handle them. ! #: final.c:3988 config/arc/arc.c:5068 config/i386/i386.c:17057 #: config/pdp11/pdp11.c:1698 #, c-format msgid "floating constant misused" msgstr "" ! #: final.c:4046 config/arc/arc.c:5165 config/i386/i386.c:17155 #: config/pdp11/pdp11.c:1739 #, c-format msgid "invalid expression as operand" --- 193,205 ---- #. TARGET_PRINT_OPERAND must handle them. #. We can't handle floating point constants; #. PRINT_OPERAND must handle them. ! #: final.c:3988 config/arc/arc.c:5068 config/i386/i386.c:17063 #: config/pdp11/pdp11.c:1698 #, c-format msgid "floating constant misused" msgstr "" ! #: final.c:4046 config/arc/arc.c:5165 config/i386/i386.c:17161 #: config/pdp11/pdp11.c:1739 #, c-format msgid "invalid expression as operand" *************** msgid "" *** 492,555 **** " other options on to these processes the -W options must be used.\n" msgstr "" ! #: gcc.c:5934 #, c-format msgid "Processing spec (%s), which is '%s'\n" msgstr "" ! #: gcc.c:6638 #, fuzzy, c-format #| msgid "libraries: %s\n" msgid "Target: %s\n" msgstr "бібліÑÑ‚Ñкі: %s\n" ! #: gcc.c:6639 #, c-format msgid "Configured with: %s\n" msgstr "" ! #: gcc.c:6653 #, c-format msgid "Thread model: %s\n" msgstr "" ! #: gcc.c:6664 #, fuzzy, c-format #| msgid "gcc version %s\n" msgid "gcc version %s %s\n" msgstr "верÑÑ–Ñ gcc %s\n" ! #: gcc.c:6667 #, c-format msgid "gcc driver version %s %sexecuting gcc version %s\n" msgstr "" ! #: gcc.c:6740 gcc.c:6952 #, c-format msgid "The bug is not reproducible, so it is likely a hardware or OS problem.\n" msgstr "" ! #: gcc.c:6876 #, c-format msgid "Preprocessed source stored into %s file, please attach this to your bugreport.\n" msgstr "" ! #: gcc.c:7829 #, c-format msgid "install: %s%s\n" msgstr "" ! #: gcc.c:7832 #, c-format msgid "programs: %s\n" msgstr "праграмы: %s\n" ! #: gcc.c:7834 #, c-format msgid "libraries: %s\n" msgstr "бібліÑÑ‚Ñкі: %s\n" ! #: gcc.c:7951 #, c-format msgid "" "\n" --- 492,555 ---- " other options on to these processes the -W options must be used.\n" msgstr "" ! #: gcc.c:5937 #, c-format msgid "Processing spec (%s), which is '%s'\n" msgstr "" ! #: gcc.c:6641 #, fuzzy, c-format #| msgid "libraries: %s\n" msgid "Target: %s\n" msgstr "бібліÑÑ‚Ñкі: %s\n" ! #: gcc.c:6642 #, c-format msgid "Configured with: %s\n" msgstr "" ! #: gcc.c:6656 #, c-format msgid "Thread model: %s\n" msgstr "" ! #: gcc.c:6667 #, fuzzy, c-format #| msgid "gcc version %s\n" msgid "gcc version %s %s\n" msgstr "верÑÑ–Ñ gcc %s\n" ! #: gcc.c:6670 #, c-format msgid "gcc driver version %s %sexecuting gcc version %s\n" msgstr "" ! #: gcc.c:6743 gcc.c:6955 #, c-format msgid "The bug is not reproducible, so it is likely a hardware or OS problem.\n" msgstr "" ! #: gcc.c:6879 #, c-format msgid "Preprocessed source stored into %s file, please attach this to your bugreport.\n" msgstr "" ! #: gcc.c:7832 #, c-format msgid "install: %s%s\n" msgstr "" ! #: gcc.c:7835 #, c-format msgid "programs: %s\n" msgstr "праграмы: %s\n" ! #: gcc.c:7837 #, c-format msgid "libraries: %s\n" msgstr "бібліÑÑ‚Ñкі: %s\n" ! #: gcc.c:7954 #, c-format msgid "" "\n" *************** msgstr "" *** 558,580 **** "\n" "ІнÑтрукцыі Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½ÑÑž аб памылках глÑдзіце тут:\n" ! #: gcc.c:7967 gcov-tool.c:528 #, c-format msgid "%s %s%s\n" msgstr "" ! #: gcc.c:7970 gcov-tool.c:530 gcov.c:689 fortran/gfortranspec.c:280 msgid "(C)" msgstr "" ! #: gcc.c:7971 fortran/gfortranspec.c:281 msgid "" "This is free software; see the source for copying conditions. There is NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" "\n" msgstr "" ! #: gcc.c:8276 #, c-format msgid "" "\n" --- 558,580 ---- "\n" "ІнÑтрукцыі Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½ÑÑž аб памылках глÑдзіце тут:\n" ! #: gcc.c:7970 gcov-tool.c:528 #, c-format msgid "%s %s%s\n" msgstr "" ! #: gcc.c:7973 gcov-tool.c:530 gcov.c:689 fortran/gfortranspec.c:280 msgid "(C)" msgstr "" ! #: gcc.c:7974 fortran/gfortranspec.c:281 msgid "" "This is free software; see the source for copying conditions. There is NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" "\n" msgstr "" ! #: gcc.c:8279 #, c-format msgid "" "\n" *************** msgid "" *** 583,596 **** "\n" msgstr "" ! #: gcc.c:8277 #, c-format msgid "" "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n" "\n" msgstr "" ! #: gcc.c:9580 #, c-format msgid "" "Assembler options\n" --- 583,596 ---- "\n" msgstr "" ! #: gcc.c:8280 #, c-format msgid "" "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n" "\n" msgstr "" ! #: gcc.c:9583 #, c-format msgid "" "Assembler options\n" *************** msgid "" *** 598,604 **** "\n" msgstr "" ! #: gcc.c:9581 #, c-format msgid "" "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n" --- 598,604 ---- "\n" msgstr "" ! #: gcc.c:9584 #, c-format msgid "" "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n" *************** msgstr "" *** 610,625 **** msgid " merge [options] Merge coverage file contents\n" msgstr "" ! #: gcov-tool.c:176 gcov-tool.c:270 gcov-tool.c:420 ! #, fuzzy, c-format ! msgid " -v, --verbose Verbose mode\n" ! msgstr " -dumpversion ÐдлюÑтраваць верÑÑ–ÑŽ кампілÑтара\n" ! ! #: gcov-tool.c:177 gcov-tool.c:271 #, fuzzy, c-format msgid " -o, --output Output directory\n" msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n" #: gcov-tool.c:178 #, c-format msgid " -w, --weight Set weights (float point values)\n" --- 610,625 ---- msgid " merge [options] Merge coverage file contents\n" msgstr "" ! #: gcov-tool.c:176 gcov-tool.c:271 #, fuzzy, c-format msgid " -o, --output Output directory\n" msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n" + #: gcov-tool.c:177 gcov-tool.c:273 gcov-tool.c:425 + #, fuzzy, c-format + msgid " -v, --verbose Verbose mode\n" + msgstr " -dumpversion ÐдлюÑтраваць верÑÑ–ÑŽ кампілÑтара\n" + #: gcov-tool.c:178 #, c-format msgid " -w, --weight Set weights (float point values)\n" *************** msgstr "" *** 635,648 **** msgid " rewrite [options] Rewrite coverage file contents\n" msgstr "" ! #: gcov-tool.c:272 #, c-format ! msgid " -s, --scale Scale the profile counters\n" msgstr "" ! #: gcov-tool.c:273 #, c-format ! msgid " -n, --normalize Normalize the profile\n" msgstr "" #: gcov-tool.c:290 --- 635,648 ---- msgid " rewrite [options] Rewrite coverage file contents\n" msgstr "" ! #: gcov-tool.c:270 #, c-format ! msgid " -n, --normalize Normalize the profile\n" msgstr "" ! #: gcov-tool.c:272 #, c-format ! msgid " -s, --scale Scale the profile counters\n" msgstr "" #: gcov-tool.c:290 *************** msgstr "" *** 670,696 **** msgid " overlap [options] Compute the overlap of two profiles\n" msgstr "" ! #: gcov-tool.c:421 #, fuzzy, c-format ! msgid " -h, --hotonly Only print info for hot objects/functions\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:422 #, fuzzy, c-format ! msgid " -f, --function Print function level info\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:423 #, fuzzy, c-format ! msgid " -F, --fullname Print full filename\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:424 #, fuzzy, c-format msgid " -o, --object Print object level info\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:425 #, c-format msgid " -t , --hot_threshold Set the threshold for hotness\n" msgstr "" --- 670,696 ---- msgid " overlap [options] Compute the overlap of two profiles\n" msgstr "" ! #: gcov-tool.c:420 #, fuzzy, c-format ! msgid " -f, --function Print function level info\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:421 #, fuzzy, c-format ! msgid " -F, --fullname Print full filename\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:422 #, fuzzy, c-format ! msgid " -h, --hotonly Only print info for hot objects/functions\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:423 #, fuzzy, c-format msgid " -o, --object Print object level info\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov-tool.c:424 #, c-format msgid " -t , --hot_threshold Set the threshold for hotness\n" msgstr "" *************** msgid "" *** 764,801 **** msgstr "" #: gcov.c:658 - #, fuzzy, c-format - msgid " -h, --help Print this help, then exit\n" - msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" - - #: gcov.c:659 #, c-format msgid " -a, --all-blocks Show information for every basic block\n" msgstr "" ! #: gcov.c:660 #, c-format msgid " -b, --branch-probabilities Include branch probabilities in output\n" msgstr "" ! #: gcov.c:661 #, c-format msgid "" " -c, --branch-counts Output counts of branches taken\n" " rather than percentages\n" msgstr "" ! #: gcov.c:663 #, fuzzy, c-format #| msgid " --help Display this information\n" msgid " -d, --display-progress Display progress information\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov.c:664 #, c-format msgid " -f, --function-summaries Output summaries for each function\n" msgstr "" #: gcov.c:665 #, c-format msgid " -i, --intermediate-format Output .gcov file in intermediate text format\n" --- 764,801 ---- msgstr "" #: gcov.c:658 #, c-format msgid " -a, --all-blocks Show information for every basic block\n" msgstr "" ! #: gcov.c:659 #, c-format msgid " -b, --branch-probabilities Include branch probabilities in output\n" msgstr "" ! #: gcov.c:660 #, c-format msgid "" " -c, --branch-counts Output counts of branches taken\n" " rather than percentages\n" msgstr "" ! #: gcov.c:662 #, fuzzy, c-format #| msgid " --help Display this information\n" msgid " -d, --display-progress Display progress information\n" msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" ! #: gcov.c:663 #, c-format msgid " -f, --function-summaries Output summaries for each function\n" msgstr "" + #: gcov.c:664 + #, fuzzy, c-format + msgid " -h, --help Print this help, then exit\n" + msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n" + #: gcov.c:665 #, c-format msgid " -i, --intermediate-format Output .gcov file in intermediate text format\n" *************** msgstr "" *** 985,1031 **** msgid "%s:graph is unsolvable for '%s'\n" msgstr "" ! #: gcov.c:2002 #, c-format msgid "Lines executed:%s of %d\n" msgstr "" ! #: gcov.c:2005 #, c-format msgid "No executable lines\n" msgstr "" ! #: gcov.c:2013 #, c-format msgid "%s '%s'\n" msgstr "" ! #: gcov.c:2020 #, c-format msgid "Branches executed:%s of %d\n" msgstr "" ! #: gcov.c:2024 #, c-format msgid "Taken at least once:%s of %d\n" msgstr "" ! #: gcov.c:2030 #, c-format msgid "No branches\n" msgstr "" ! #: gcov.c:2032 #, c-format msgid "Calls executed:%s of %d\n" msgstr "" ! #: gcov.c:2036 #, c-format msgid "No calls\n" msgstr "" ! #: gcov.c:2317 #, fuzzy, c-format #| msgid "" #| "\n" --- 985,1031 ---- msgid "%s:graph is unsolvable for '%s'\n" msgstr "" ! #: gcov.c:2009 #, c-format msgid "Lines executed:%s of %d\n" msgstr "" ! #: gcov.c:2012 #, c-format msgid "No executable lines\n" msgstr "" ! #: gcov.c:2020 #, c-format msgid "%s '%s'\n" msgstr "" ! #: gcov.c:2027 #, c-format msgid "Branches executed:%s of %d\n" msgstr "" ! #: gcov.c:2031 #, c-format msgid "Taken at least once:%s of %d\n" msgstr "" ! #: gcov.c:2037 #, c-format msgid "No branches\n" msgstr "" ! #: gcov.c:2039 #, c-format msgid "Calls executed:%s of %d\n" msgstr "" ! #: gcov.c:2043 #, c-format msgid "No calls\n" msgstr "" ! #: gcov.c:2324 #, fuzzy, c-format #| msgid "" #| "\n" *************** msgstr "" *** 1035,1071 **** "\n" " Выбары Ð´Ð»Ñ %s:\n" ! #: gcov.c:2419 #, c-format msgid "call %2d returned %s\n" msgstr "" ! #: gcov.c:2424 #, c-format msgid "call %2d never executed\n" msgstr "" ! #: gcov.c:2429 #, c-format msgid "branch %2d taken %s%s\n" msgstr "" ! #: gcov.c:2434 #, c-format msgid "branch %2d never executed\n" msgstr "" ! #: gcov.c:2439 #, fuzzy, c-format msgid "unconditional %2d taken %s\n" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s\n" ! #: gcov.c:2442 #, c-format msgid "unconditional %2d never executed\n" msgstr "" ! #: gcov.c:2512 #, fuzzy, c-format #| msgid "cannot find source %s" msgid "Cannot open source file %s\n" --- 1035,1071 ---- "\n" " Выбары Ð´Ð»Ñ %s:\n" ! #: gcov.c:2426 #, c-format msgid "call %2d returned %s\n" msgstr "" ! #: gcov.c:2431 #, c-format msgid "call %2d never executed\n" msgstr "" ! #: gcov.c:2436 #, c-format msgid "branch %2d taken %s%s\n" msgstr "" ! #: gcov.c:2441 #, c-format msgid "branch %2d never executed\n" msgstr "" ! #: gcov.c:2446 #, fuzzy, c-format msgid "unconditional %2d taken %s\n" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s\n" ! #: gcov.c:2449 #, c-format msgid "unconditional %2d never executed\n" msgstr "" ! #: gcov.c:2519 #, fuzzy, c-format #| msgid "cannot find source %s" msgid "Cannot open source file %s\n" *************** msgstr "" *** 1177,1265 **** msgid "Uses of this option are diagnosed." msgstr "" ! #: opts.c:1096 #, c-format msgid "default %d minimum %d maximum %d" msgstr "" ! #: opts.c:1163 #, c-format msgid "Same as %s. Use the latter option instead." msgstr "" ! #: opts.c:1171 #, c-format msgid "%s Same as %s." msgstr "" ! #: opts.c:1242 msgid "[default]" msgstr "" ! #: opts.c:1253 msgid "[enabled]" msgstr "" ! #: opts.c:1253 msgid "[disabled]" msgstr "" ! #: opts.c:1272 #, c-format msgid " No options with the desired characteristics were found\n" msgstr "" ! #: opts.c:1281 #, c-format msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" msgstr "" ! #: opts.c:1287 #, c-format msgid " All options with the desired characteristics have already been displayed\n" msgstr "" ! #: opts.c:1372 msgid "The following options are target specific" msgstr "" ! #: opts.c:1375 msgid "The following options control compiler warning messages" msgstr "" ! #: opts.c:1378 msgid "The following options control optimizations" msgstr "" ! #: opts.c:1381 opts.c:1420 msgid "The following options are language-independent" msgstr "" ! #: opts.c:1384 msgid "The --param option recognizes the following as parameters" msgstr "" ! #: opts.c:1390 msgid "The following options are specific to just the language " msgstr "" ! #: opts.c:1392 msgid "The following options are supported by the language " msgstr "" ! #: opts.c:1403 msgid "The following options are not documented" msgstr "" ! #: opts.c:1405 msgid "The following options take separate arguments" msgstr "" ! #: opts.c:1407 msgid "The following options take joined arguments" msgstr "" ! #: opts.c:1418 msgid "The following options are language-related" msgstr "" --- 1177,1265 ---- msgid "Uses of this option are diagnosed." msgstr "" ! #: opts.c:1103 #, c-format msgid "default %d minimum %d maximum %d" msgstr "" ! #: opts.c:1170 #, c-format msgid "Same as %s. Use the latter option instead." msgstr "" ! #: opts.c:1178 #, c-format msgid "%s Same as %s." msgstr "" ! #: opts.c:1249 msgid "[default]" msgstr "" ! #: opts.c:1260 msgid "[enabled]" msgstr "" ! #: opts.c:1260 msgid "[disabled]" msgstr "" ! #: opts.c:1279 #, c-format msgid " No options with the desired characteristics were found\n" msgstr "" ! #: opts.c:1288 #, c-format msgid " None found. Use --help=%s to show *all* the options supported by the %s front-end.\n" msgstr "" ! #: opts.c:1294 #, c-format msgid " All options with the desired characteristics have already been displayed\n" msgstr "" ! #: opts.c:1379 msgid "The following options are target specific" msgstr "" ! #: opts.c:1382 msgid "The following options control compiler warning messages" msgstr "" ! #: opts.c:1385 msgid "The following options control optimizations" msgstr "" ! #: opts.c:1388 opts.c:1427 msgid "The following options are language-independent" msgstr "" ! #: opts.c:1391 msgid "The --param option recognizes the following as parameters" msgstr "" ! #: opts.c:1397 msgid "The following options are specific to just the language " msgstr "" ! #: opts.c:1399 msgid "The following options are supported by the language " msgstr "" ! #: opts.c:1410 msgid "The following options are not documented" msgstr "" ! #: opts.c:1412 msgid "The following options take separate arguments" msgstr "" ! #: opts.c:1414 msgid "The following options take joined arguments" msgstr "" ! #: opts.c:1425 msgid "The following options are language-related" msgstr "" *************** msgstr "" *** 2843,2850 **** msgid "" msgstr "" ! #: config/aarch64/aarch64.c:4927 config/arm/arm.c:21832 config/arm/arm.c:21845 ! #: config/arm/arm.c:21870 config/nios2/nios2.c:2653 #, fuzzy, c-format msgid "Unsupported operand for code '%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" --- 2843,2850 ---- msgid "" msgstr "" ! #: config/aarch64/aarch64.c:4927 config/arm/arm.c:21821 config/arm/arm.c:21834 ! #: config/arm/arm.c:21859 config/nios2/nios2.c:2653 #, fuzzy, c-format msgid "Unsupported operand for code '%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" *************** msgstr "ÐерÑчаіÑны выбар *** 2863,2869 **** msgid "incompatible floating point / vector register operand for '%%%c'" msgstr "" ! #: config/aarch64/aarch64.c:5103 config/arm/arm.c:22377 #, fuzzy, c-format msgid "missing operand" msgstr "прапушчан ініцыÑлізатар" --- 2863,2869 ---- msgid "incompatible floating point / vector register operand for '%%%c'" msgstr "" ! #: config/aarch64/aarch64.c:5103 config/arm/arm.c:22366 #, fuzzy, c-format msgid "missing operand" msgstr "прапушчан ініцыÑлізатар" *************** msgstr "нерÑчаіÑны %%d Ð°Ð¿ÐµÑ *** 2884,2891 **** msgid "invalid operand prefix '%%%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: config/alpha/alpha.c:5092 config/i386/i386.c:18279 ! #: config/rs6000/rs6000.c:23938 config/sparc/sparc.c:8854 #, c-format msgid "'%%&' used without any local dynamic TLS references" msgstr "" --- 2884,2891 ---- msgid "invalid operand prefix '%%%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: config/alpha/alpha.c:5092 config/i386/i386.c:18285 ! #: config/rs6000/rs6000.c:23985 config/sparc/sparc.c:8995 #, c-format msgid "'%%&' used without any local dynamic TLS references" msgstr "" *************** msgid "invalid %%r value" *** 2901,2918 **** msgstr "нерÑчаіÑнае значÑньне %%r" #: config/alpha/alpha.c:5190 config/ia64/ia64.c:5442 ! #: config/rs6000/rs6000.c:23618 config/xtensa/xtensa.c:2363 #, c-format msgid "invalid %%R value" msgstr "нерÑчаіÑнае значÑньне %%R" ! #: config/alpha/alpha.c:5196 config/rs6000/rs6000.c:23538 ! #: config/xtensa/xtensa.c:2330 #, c-format msgid "invalid %%N value" msgstr "нерÑчаіÑнае значÑньне %%N" ! #: config/alpha/alpha.c:5204 config/rs6000/rs6000.c:23566 #, c-format msgid "invalid %%P value" msgstr "нерÑчаіÑнае значÑньне %%P" --- 2901,2918 ---- msgstr "нерÑчаіÑнае значÑньне %%r" #: config/alpha/alpha.c:5190 config/ia64/ia64.c:5442 ! #: config/rs6000/rs6000.c:23665 config/xtensa/xtensa.c:2364 #, c-format msgid "invalid %%R value" msgstr "нерÑчаіÑнае значÑньне %%R" ! #: config/alpha/alpha.c:5196 config/rs6000/rs6000.c:23585 ! #: config/xtensa/xtensa.c:2331 #, c-format msgid "invalid %%N value" msgstr "нерÑчаіÑнае значÑньне %%N" ! #: config/alpha/alpha.c:5204 config/rs6000/rs6000.c:23613 #, c-format msgid "invalid %%P value" msgstr "нерÑчаіÑнае значÑньне %%P" *************** msgstr "нерÑчаіÑнае Ð·Ð½Ð°Ñ‡Ñ *** 2922,2928 **** msgid "invalid %%h value" msgstr "нерÑчаіÑнае значÑньне %%h" ! #: config/alpha/alpha.c:5220 config/xtensa/xtensa.c:2356 #, c-format msgid "invalid %%L value" msgstr "нерÑчаіÑнае значÑньне %%L" --- 2922,2928 ---- msgid "invalid %%h value" msgstr "нерÑчаіÑнае значÑньне %%h" ! #: config/alpha/alpha.c:5220 config/xtensa/xtensa.c:2357 #, c-format msgid "invalid %%L value" msgstr "нерÑчаіÑнае значÑньне %%L" *************** msgid "invalid %%U value" *** 2943,2949 **** msgstr "нерÑчаіÑнае значÑньне %%U" #: config/alpha/alpha.c:5290 config/alpha/alpha.c:5301 ! #: config/rs6000/rs6000.c:23626 #, c-format msgid "invalid %%s value" msgstr "нерÑчаіÑнае значÑньне %%v" --- 2943,2949 ---- msgstr "нерÑчаіÑнае значÑньне %%U" #: config/alpha/alpha.c:5290 config/alpha/alpha.c:5301 ! #: config/rs6000/rs6000.c:23673 #, c-format msgid "invalid %%s value" msgstr "нерÑчаіÑнае значÑньне %%v" *************** msgstr "нерÑчаіÑнае Ð·Ð½Ð°Ñ‡Ñ *** 2953,2959 **** msgid "invalid %%C value" msgstr "нерÑчаіÑнае значÑньне %%C" ! #: config/alpha/alpha.c:5349 config/rs6000/rs6000.c:23402 #, c-format msgid "invalid %%E value" msgstr "нерÑчаіÑнае значÑньне %%E" --- 2953,2959 ---- msgid "invalid %%C value" msgstr "нерÑчаіÑнае значÑньне %%C" ! #: config/alpha/alpha.c:5349 config/rs6000/rs6000.c:23449 #, c-format msgid "invalid %%E value" msgstr "нерÑчаіÑнае значÑньне %%E" *************** msgid "unknown relocation unspec" *** 2964,2970 **** msgstr "" #: config/alpha/alpha.c:5383 config/cr16/cr16.c:1534 ! #: config/rs6000/rs6000.c:23943 config/spu/spu.c:1447 #, c-format msgid "invalid %%xn code" msgstr "нерÑчаіÑнае значÑньне %%xn" --- 2964,2970 ---- msgstr "" #: config/alpha/alpha.c:5383 config/cr16/cr16.c:1534 ! #: config/rs6000/rs6000.c:23990 config/spu/spu.c:1447 #, c-format msgid "invalid %%xn code" msgstr "нерÑчаіÑнае значÑньне %%xn" *************** msgstr "нерÑчаіÑны %%-код" *** 3028,3034 **** #. Unknown flag. #. Undocumented flag. #: config/arc/arc.c:3467 config/epiphany/epiphany.c:1289 ! #: config/m32r/m32r.c:2230 config/nds32/nds32.c:2292 config/sparc/sparc.c:9133 #, c-format msgid "invalid operand output code" msgstr "" --- 3028,3034 ---- #. Unknown flag. #. Undocumented flag. #: config/arc/arc.c:3467 config/epiphany/epiphany.c:1289 ! #: config/m32r/m32r.c:2230 config/nds32/nds32.c:2292 config/sparc/sparc.c:9274 #, c-format msgid "invalid operand output code" msgstr "" *************** msgstr "" *** 3038,3067 **** msgid "invalid UNSPEC as operand: %d" msgstr "нерÑчаіÑны %%-код" ! #: config/arm/arm.c:18841 config/arm/arm.c:18866 config/arm/arm.c:18876 ! #: config/arm/arm.c:18885 config/arm/arm.c:18894 #, fuzzy, c-format #| msgid "invalid %%f operand" msgid "invalid shift operand" msgstr "нерÑчаіÑны %%f аперанд" ! #: config/arm/arm.c:21708 config/arm/arm.c:21726 #, fuzzy, c-format msgid "predicated Thumb instruction" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/arm/arm.c:21714 #, c-format msgid "predicated instruction in conditional sequence" msgstr "" ! #: config/arm/arm.c:21947 config/arm/arm.c:21969 config/arm/arm.c:21979 ! #: config/arm/arm.c:21989 config/arm/arm.c:21999 config/arm/arm.c:22038 ! #: config/arm/arm.c:22056 config/arm/arm.c:22081 config/arm/arm.c:22096 ! #: config/arm/arm.c:22123 config/arm/arm.c:22130 config/arm/arm.c:22148 ! #: config/arm/arm.c:22155 config/arm/arm.c:22163 config/arm/arm.c:22184 ! #: config/arm/arm.c:22191 config/arm/arm.c:22324 config/arm/arm.c:22331 ! #: config/arm/arm.c:22358 config/arm/arm.c:22365 config/bfin/bfin.c:1437 #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 #: config/bfin/bfin.c:1488 --- 3038,3067 ---- msgid "invalid UNSPEC as operand: %d" msgstr "нерÑчаіÑны %%-код" ! #: config/arm/arm.c:18830 config/arm/arm.c:18855 config/arm/arm.c:18865 ! #: config/arm/arm.c:18874 config/arm/arm.c:18883 #, fuzzy, c-format #| msgid "invalid %%f operand" msgid "invalid shift operand" msgstr "нерÑчаіÑны %%f аперанд" ! #: config/arm/arm.c:21697 config/arm/arm.c:21715 #, fuzzy, c-format msgid "predicated Thumb instruction" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/arm/arm.c:21703 #, c-format msgid "predicated instruction in conditional sequence" msgstr "" ! #: config/arm/arm.c:21936 config/arm/arm.c:21958 config/arm/arm.c:21968 ! #: config/arm/arm.c:21978 config/arm/arm.c:21988 config/arm/arm.c:22027 ! #: config/arm/arm.c:22045 config/arm/arm.c:22070 config/arm/arm.c:22085 ! #: config/arm/arm.c:22112 config/arm/arm.c:22119 config/arm/arm.c:22137 ! #: config/arm/arm.c:22144 config/arm/arm.c:22152 config/arm/arm.c:22173 ! #: config/arm/arm.c:22180 config/arm/arm.c:22313 config/arm/arm.c:22320 ! #: config/arm/arm.c:22347 config/arm/arm.c:22354 config/bfin/bfin.c:1437 #: config/bfin/bfin.c:1444 config/bfin/bfin.c:1451 config/bfin/bfin.c:1458 #: config/bfin/bfin.c:1467 config/bfin/bfin.c:1474 config/bfin/bfin.c:1481 #: config/bfin/bfin.c:1488 *************** msgstr "" *** 3069,3177 **** msgid "invalid operand for code '%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: config/arm/arm.c:22051 #, c-format msgid "instruction never executed" msgstr "" #. Former Maverick support, removed after GCC-4.7. ! #: config/arm/arm.c:22072 #, c-format msgid "obsolete Maverick format code '%c'" msgstr "" ! #: config/avr/avr.c:2439 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "" ! #: config/avr/avr.c:2620 msgid "operands to %T/%t must be reg + const_int:" msgstr "" ! #: config/avr/avr.c:2670 config/avr/avr.c:2737 msgid "bad address, not an I/O address:" msgstr "" ! #: config/avr/avr.c:2679 msgid "bad address, not a constant:" msgstr "" ! #: config/avr/avr.c:2697 config/avr/avr.c:2704 msgid "bad address, not (reg+disp):" msgstr "" ! #: config/avr/avr.c:2711 msgid "bad address, not post_inc or pre_dec:" msgstr "" ! #: config/avr/avr.c:2723 msgid "internal compiler error. Bad address:" msgstr "" ! #: config/avr/avr.c:2756 #, c-format msgid "Unsupported code '%c' for fixed-point:" msgstr "" ! #: config/avr/avr.c:2764 msgid "internal compiler error. Unknown mode:" msgstr "" ! #: config/avr/avr.c:3788 config/avr/avr.c:4732 config/avr/avr.c:5179 #, fuzzy msgid "invalid insn:" msgstr "ÐерÑчаіÑны выбар %s" ! #: config/avr/avr.c:3842 config/avr/avr.c:3954 config/avr/avr.c:4012 ! #: config/avr/avr.c:4064 config/avr/avr.c:4083 config/avr/avr.c:4275 ! #: config/avr/avr.c:4583 config/avr/avr.c:4868 config/avr/avr.c:5072 ! #: config/avr/avr.c:5236 config/avr/avr.c:5330 config/avr/avr.c:5529 msgid "incorrect insn:" msgstr "" ! #: config/avr/avr.c:4099 config/avr/avr.c:4374 config/avr/avr.c:4654 ! #: config/avr/avr.c:4940 config/avr/avr.c:5118 config/avr/avr.c:5386 ! #: config/avr/avr.c:5587 msgid "unknown move insn:" msgstr "" ! #: config/avr/avr.c:6046 msgid "bad shift insn:" msgstr "" ! #: config/avr/avr.c:6154 config/avr/avr.c:6635 config/avr/avr.c:7050 msgid "internal compiler error. Incorrect shift:" msgstr "" ! #: config/avr/avr.c:8456 #, fuzzy #| msgid "unsupported version" msgid "unsupported fixed-point conversion" msgstr "Ð½ÐµÐ¿Ð°Ð´Ñ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ" ! #: config/avr/avr.c:9803 msgid "variable" msgstr "" ! #: config/avr/avr.c:9808 #, fuzzy msgid "function parameter" msgstr "невыкарыÑтаемы параметр \"%s\"" ! #: config/avr/avr.c:9813 #, fuzzy #| msgid "structure" msgid "structure field" msgstr "Ñтруктура" ! #: config/avr/avr.c:9819 #, fuzzy #| msgid "return type of `%s' is not `int'" msgid "return type of function" msgstr "вÑртаемы тып \"%s\" не \"int\"" ! #: config/avr/avr.c:9824 msgid "pointer" msgstr "" --- 3069,3177 ---- msgid "invalid operand for code '%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: config/arm/arm.c:22040 #, c-format msgid "instruction never executed" msgstr "" #. Former Maverick support, removed after GCC-4.7. ! #: config/arm/arm.c:22061 #, c-format msgid "obsolete Maverick format code '%c'" msgstr "" ! #: config/avr/avr.c:2455 #, c-format msgid "address operand requires constraint for X, Y, or Z register" msgstr "" ! #: config/avr/avr.c:2636 msgid "operands to %T/%t must be reg + const_int:" msgstr "" ! #: config/avr/avr.c:2686 config/avr/avr.c:2753 msgid "bad address, not an I/O address:" msgstr "" ! #: config/avr/avr.c:2695 msgid "bad address, not a constant:" msgstr "" ! #: config/avr/avr.c:2713 config/avr/avr.c:2720 msgid "bad address, not (reg+disp):" msgstr "" ! #: config/avr/avr.c:2727 msgid "bad address, not post_inc or pre_dec:" msgstr "" ! #: config/avr/avr.c:2739 msgid "internal compiler error. Bad address:" msgstr "" ! #: config/avr/avr.c:2772 #, c-format msgid "Unsupported code '%c' for fixed-point:" msgstr "" ! #: config/avr/avr.c:2780 msgid "internal compiler error. Unknown mode:" msgstr "" ! #: config/avr/avr.c:3804 config/avr/avr.c:4748 config/avr/avr.c:5195 #, fuzzy msgid "invalid insn:" msgstr "ÐерÑчаіÑны выбар %s" ! #: config/avr/avr.c:3858 config/avr/avr.c:3970 config/avr/avr.c:4028 ! #: config/avr/avr.c:4080 config/avr/avr.c:4099 config/avr/avr.c:4291 ! #: config/avr/avr.c:4599 config/avr/avr.c:4884 config/avr/avr.c:5088 ! #: config/avr/avr.c:5252 config/avr/avr.c:5345 config/avr/avr.c:5544 msgid "incorrect insn:" msgstr "" ! #: config/avr/avr.c:4115 config/avr/avr.c:4390 config/avr/avr.c:4670 ! #: config/avr/avr.c:4956 config/avr/avr.c:5134 config/avr/avr.c:5401 ! #: config/avr/avr.c:5602 msgid "unknown move insn:" msgstr "" ! #: config/avr/avr.c:6061 msgid "bad shift insn:" msgstr "" ! #: config/avr/avr.c:6169 config/avr/avr.c:6650 config/avr/avr.c:7065 msgid "internal compiler error. Incorrect shift:" msgstr "" ! #: config/avr/avr.c:8471 #, fuzzy #| msgid "unsupported version" msgid "unsupported fixed-point conversion" msgstr "Ð½ÐµÐ¿Ð°Ð´Ñ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ" ! #: config/avr/avr.c:9818 msgid "variable" msgstr "" ! #: config/avr/avr.c:9823 #, fuzzy msgid "function parameter" msgstr "невыкарыÑтаемы параметр \"%s\"" ! #: config/avr/avr.c:9828 #, fuzzy #| msgid "structure" msgid "structure field" msgstr "Ñтруктура" ! #: config/avr/avr.c:9834 #, fuzzy #| msgid "return type of `%s' is not `int'" msgid "return type of function" msgstr "вÑртаемы тып \"%s\" не \"int\"" ! #: config/avr/avr.c:9839 msgid "pointer" msgstr "" *************** msgid "invalid const_double operand" *** 3194,3200 **** msgstr "нерÑчаіÑны %%c аперанд" #: config/cris/cris.c:604 config/ft32/ft32.c:106 config/moxie/moxie.c:104 ! #: final.c:3455 final.c:3457 fold-const.c:268 gcc.c:5268 gcc.c:5282 #: rtl-error.c:101 toplev.c:337 tree-vrp.c:7849 cp/typeck.c:6167 #: lto/lto-object.c:184 lto/lto-object.c:281 lto/lto-object.c:338 #: lto/lto-object.c:362 --- 3194,3200 ---- msgstr "нерÑчаіÑны %%c аперанд" #: config/cris/cris.c:604 config/ft32/ft32.c:106 config/moxie/moxie.c:104 ! #: final.c:3455 final.c:3457 fold-const.c:268 gcc.c:5271 gcc.c:5285 #: rtl-error.c:101 toplev.c:337 tree-vrp.c:7849 cp/typeck.c:6167 #: lto/lto-object.c:184 lto/lto-object.c:281 lto/lto-object.c:338 #: lto/lto-object.c:362 *************** msgstr "" *** 3419,3507 **** msgid "bad output_condmove_single operand" msgstr "" ! #: config/i386/i386.c:17149 #, c-format msgid "invalid UNSPEC as operand" msgstr "" ! #: config/i386/i386.c:17660 #, fuzzy, c-format #| msgid "invalid use of `restrict'" msgid "invalid use of asm flag output" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/i386/i386.c:17882 #, fuzzy, c-format msgid "invalid operand size for operand code 'O'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:17917 #, fuzzy, c-format msgid "invalid operand size for operand code 'z'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:17986 #, fuzzy, c-format msgid "invalid operand type used with operand code 'Z'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:17991 #, fuzzy, c-format msgid "invalid operand size for operand code 'Z'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:18067 #, c-format msgid "operand is not a condition code, invalid operand code 'Y'" msgstr "" ! #: config/i386/i386.c:18146 #, c-format msgid "operand is not a condition code, invalid operand code 'D'" msgstr "" ! #: config/i386/i386.c:18164 #, c-format msgid "operand is not a condition code, invalid operand code '%c'" msgstr "" ! #: config/i386/i386.c:18177 #, c-format msgid "operand is not an offsettable memory reference, invalid operand code 'H'" msgstr "" ! #: config/i386/i386.c:18192 #, c-format msgid "operand is not an integer, invalid operand code 'K'" msgstr "" ! #: config/i386/i386.c:18220 #, c-format msgid "operand is not a specific integer, invalid operand code 'r'" msgstr "" ! #: config/i386/i386.c:18238 #, c-format msgid "operand is not an integer, invalid operand code 'R'" msgstr "" ! #: config/i386/i386.c:18261 #, c-format msgid "operand is not a specific integer, invalid operand code 'R'" msgstr "" ! #: config/i386/i386.c:18357 #, fuzzy, c-format msgid "invalid operand code '%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: config/i386/i386.c:18419 #, fuzzy, c-format #| msgid "invalid %%c operand" msgid "invalid constraints for operand" msgstr "нерÑчаіÑны %%c аперанд" ! #: config/i386/i386.c:28920 #, fuzzy msgid "unknown insn mode" msgstr "невÑдомы Ñ€Ñжым машыны \"%s\"" --- 3419,3507 ---- msgid "bad output_condmove_single operand" msgstr "" ! #: config/i386/i386.c:17155 #, c-format msgid "invalid UNSPEC as operand" msgstr "" ! #: config/i386/i386.c:17666 #, fuzzy, c-format #| msgid "invalid use of `restrict'" msgid "invalid use of asm flag output" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/i386/i386.c:17888 #, fuzzy, c-format msgid "invalid operand size for operand code 'O'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:17923 #, fuzzy, c-format msgid "invalid operand size for operand code 'z'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:17992 #, fuzzy, c-format msgid "invalid operand type used with operand code 'Z'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:17997 #, fuzzy, c-format msgid "invalid operand size for operand code 'Z'" msgstr "нерÑчаіÑны %%-код" ! #: config/i386/i386.c:18073 #, c-format msgid "operand is not a condition code, invalid operand code 'Y'" msgstr "" ! #: config/i386/i386.c:18152 #, c-format msgid "operand is not a condition code, invalid operand code 'D'" msgstr "" ! #: config/i386/i386.c:18170 #, c-format msgid "operand is not a condition code, invalid operand code '%c'" msgstr "" ! #: config/i386/i386.c:18183 #, c-format msgid "operand is not an offsettable memory reference, invalid operand code 'H'" msgstr "" ! #: config/i386/i386.c:18198 #, c-format msgid "operand is not an integer, invalid operand code 'K'" msgstr "" ! #: config/i386/i386.c:18226 #, c-format msgid "operand is not a specific integer, invalid operand code 'r'" msgstr "" ! #: config/i386/i386.c:18244 #, c-format msgid "operand is not an integer, invalid operand code 'R'" msgstr "" ! #: config/i386/i386.c:18267 #, c-format msgid "operand is not a specific integer, invalid operand code 'R'" msgstr "" ! #: config/i386/i386.c:18363 #, fuzzy, c-format msgid "invalid operand code '%c'" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: config/i386/i386.c:18425 #, fuzzy, c-format #| msgid "invalid %%c operand" msgid "invalid constraints for operand" msgstr "нерÑчаіÑны %%c аперанд" ! #: config/i386/i386.c:28926 #, fuzzy msgid "unknown insn mode" msgstr "невÑдомы Ñ€Ñжым машыны \"%s\"" *************** msgstr "нерÑчаіÑны %%-код" *** 3544,3550 **** msgid "invalid %%P operand" msgstr "нерÑчаіÑны %%-код" ! #: config/iq2000/iq2000.c:3153 config/rs6000/rs6000.c:23556 #, c-format msgid "invalid %%p value" msgstr "" --- 3544,3550 ---- msgid "invalid %%P operand" msgstr "нерÑчаіÑны %%-код" ! #: config/iq2000/iq2000.c:3153 config/rs6000/rs6000.c:23603 #, c-format msgid "invalid %%p value" msgstr "" *************** msgid "post-increment address is not a r *** 3600,3606 **** msgstr "" #: config/m32r/m32r.c:2333 config/m32r/m32r.c:2348 ! #: config/rs6000/rs6000.c:35600 msgid "bad address" msgstr "дрÑнны адраÑ" --- 3600,3606 ---- msgstr "" #: config/m32r/m32r.c:2333 config/m32r/m32r.c:2348 ! #: config/rs6000/rs6000.c:35649 msgid "bad address" msgstr "дрÑнны адраÑ" *************** msgid "insn contains an invalid address *** 3637,3643 **** msgstr "нерÑчаіÑны адраÑ" #: config/microblaze/microblaze.c:2309 config/microblaze/microblaze.c:2528 ! #: config/xtensa/xtensa.c:2460 msgid "invalid address" msgstr "нерÑчаіÑны адраÑ" --- 3637,3643 ---- msgstr "нерÑчаіÑны адраÑ" #: config/microblaze/microblaze.c:2309 config/microblaze/microblaze.c:2528 ! #: config/xtensa/xtensa.c:2461 msgid "invalid address" msgstr "нерÑчаіÑны адраÑ" *************** msgstr "" *** 3730,4015 **** msgid "Try running '%s' in the shell to raise its limit.\n" msgstr "" ! #: config/rs6000/rs6000.c:4223 msgid "-maltivec=le not allowed for big-endian targets" msgstr "" ! #: config/rs6000/rs6000.c:4235 #, fuzzy #| msgid "Use hardware floating point" msgid "-mvsx requires hardware floating point" msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\"" ! #: config/rs6000/rs6000.c:4243 msgid "-mvsx and -mpaired are incompatible" msgstr "" ! #: config/rs6000/rs6000.c:4245 msgid "-mvsx needs indexed addressing" msgstr "" ! #: config/rs6000/rs6000.c:4250 msgid "-mvsx and -mno-altivec are incompatible" msgstr "" ! #: config/rs6000/rs6000.c:4252 msgid "-mno-altivec disables vsx" msgstr "" ! #: config/rs6000/rs6000.c:4460 msgid "-mquad-memory requires 64-bit mode" msgstr "" ! #: config/rs6000/rs6000.c:4463 msgid "-mquad-memory-atomic requires 64-bit mode" msgstr "" ! #: config/rs6000/rs6000.c:4475 msgid "-mquad-memory is not available in little endian mode" msgstr "" ! #: config/rs6000/rs6000.c:4547 msgid "-mtoc-fusion requires 64-bit" msgstr "" ! #: config/rs6000/rs6000.c:4554 msgid "-mtoc-fusion requires medium/large code model" msgstr "" ! #: config/rs6000/rs6000.c:11245 msgid "bad move" msgstr "" ! #: config/rs6000/rs6000.c:23199 msgid "Bad 128-bit move" msgstr "" ! #: config/rs6000/rs6000.c:23390 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%e value" msgstr "дрÑннае %%Q значÑнне" ! #: config/rs6000/rs6000.c:23411 #, c-format msgid "invalid %%f value" msgstr "" ! #: config/rs6000/rs6000.c:23420 #, c-format msgid "invalid %%F value" msgstr "" ! #: config/rs6000/rs6000.c:23429 #, c-format msgid "invalid %%G value" msgstr "" ! #: config/rs6000/rs6000.c:23464 #, c-format msgid "invalid %%j code" msgstr "" ! #: config/rs6000/rs6000.c:23474 #, c-format msgid "invalid %%J code" msgstr "" ! #: config/rs6000/rs6000.c:23484 #, c-format msgid "invalid %%k value" msgstr "" ! #: config/rs6000/rs6000.c:23499 config/xtensa/xtensa.c:2349 #, c-format msgid "invalid %%K value" msgstr "" ! #: config/rs6000/rs6000.c:23546 #, c-format msgid "invalid %%O value" msgstr "нерÑчаіÑнае значÑньне %%O" ! #: config/rs6000/rs6000.c:23593 #, c-format msgid "invalid %%q value" msgstr "" ! #: config/rs6000/rs6000.c:23646 #, c-format msgid "invalid %%T value" msgstr "" ! #: config/rs6000/rs6000.c:23658 #, c-format msgid "invalid %%u value" msgstr "" ! #: config/rs6000/rs6000.c:23672 config/xtensa/xtensa.c:2319 #, c-format msgid "invalid %%v value" msgstr "" ! #: config/rs6000/rs6000.c:23739 config/xtensa/xtensa.c:2370 #, fuzzy, c-format #| msgid "invalid %%x/X value" msgid "invalid %%x value" msgstr "нерÑчаіÑнае значÑньне %%x/X" ! #: config/rs6000/rs6000.c:23887 #, fuzzy, c-format msgid "invalid %%y value, try using the 'Z' constraint" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/rs6000/rs6000.c:24603 msgid "__float128 and __ibm128 cannot be used in the same expression" msgstr "" ! #: config/rs6000/rs6000.c:24609 msgid "__ibm128 and long double cannot be used in the same expression" msgstr "" ! #: config/rs6000/rs6000.c:24615 msgid "__float128 and long double cannot be used in the same expression" msgstr "" ! #: config/rs6000/rs6000.c:38903 #, fuzzy #| msgid "too few arguments to function" msgid "AltiVec argument passed to unprototyped function" msgstr "не хапае аргументаў у функцыі" ! #: config/rs6000/rs6000.c:40709 #, fuzzy msgid "Could not generate addis value for fusion" msgstr "Стварыць код Ð´Ð»Ñ DLL" ! #: config/rs6000/rs6000.c:40781 msgid "Unable to generate load/store offset for fusion" msgstr "" ! #: config/rs6000/rs6000.c:40885 msgid "Bad GPR fusion" msgstr "" ! #: config/rs6000/rs6000.c:41103 msgid "emit_fusion_p9_load, bad reg #1" msgstr "" ! #: config/rs6000/rs6000.c:41149 msgid "emit_fusion_p9_load, bad reg #2" msgstr "" ! #: config/rs6000/rs6000.c:41152 msgid "emit_fusion_p9_load not MEM" msgstr "" ! #: config/rs6000/rs6000.c:41190 msgid "emit_fusion_p9_store, bad reg #1" msgstr "" ! #: config/rs6000/rs6000.c:41236 msgid "emit_fusion_p9_store, bad reg #2" msgstr "" ! #: config/rs6000/rs6000.c:41239 msgid "emit_fusion_p9_store not MEM" msgstr "" ! #: config/s390/s390.c:7482 #, c-format msgid "symbolic memory references are only supported on z10 or later" msgstr "" ! #: config/s390/s390.c:7493 #, fuzzy, c-format msgid "cannot decompose address" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s" ! #: config/s390/s390.c:7562 #, c-format msgid "invalid comparison operator for 'E' output modifier" msgstr "" ! #: config/s390/s390.c:7585 #, c-format msgid "invalid reference for 'J' output modifier" msgstr "" ! #: config/s390/s390.c:7603 #, c-format msgid "invalid address for 'O' output modifier" msgstr "" ! #: config/s390/s390.c:7625 #, c-format msgid "invalid address for 'R' output modifier" msgstr "" ! #: config/s390/s390.c:7643 #, c-format msgid "memory reference expected for 'S' output modifier" msgstr "" ! #: config/s390/s390.c:7653 #, c-format msgid "invalid address for 'S' output modifier" msgstr "" ! #: config/s390/s390.c:7674 #, c-format msgid "register or memory expression expected for 'N' output modifier" msgstr "" ! #: config/s390/s390.c:7685 #, c-format msgid "register or memory expression expected for 'M' output modifier" msgstr "" ! #: config/s390/s390.c:7771 config/s390/s390.c:7792 #, c-format msgid "invalid constant for output modifier '%c'" msgstr "" ! #: config/s390/s390.c:7789 #, c-format msgid "invalid constant - try using an output modifier" msgstr "" ! #: config/s390/s390.c:7826 #, c-format msgid "invalid constant vector for output modifier '%c'" msgstr "" ! #: config/s390/s390.c:7833 #, c-format msgid "invalid expression - try using an output modifier" msgstr "" ! #: config/s390/s390.c:7836 #, c-format msgid "invalid expression for output modifier '%c'" msgstr "" ! #: config/s390/s390.c:11703 #, fuzzy #| msgid "too few arguments to function" msgid "vector argument passed to unprototyped function" msgstr "не хапае аргументаў у функцыі" ! #: config/s390/s390.c:15522 msgid "types differ in signedness" msgstr "" ! #: config/s390/s390.c:15532 msgid "binary operator does not support two vector bool operands" msgstr "" ! #: config/s390/s390.c:15535 msgid "binary operator does not support vector bool operand" msgstr "" ! #: config/s390/s390.c:15543 msgid "binary operator does not support mixing vector bool with floating point vector operands" msgstr "" --- 3730,4015 ---- msgid "Try running '%s' in the shell to raise its limit.\n" msgstr "" ! #: config/rs6000/rs6000.c:4225 msgid "-maltivec=le not allowed for big-endian targets" msgstr "" ! #: config/rs6000/rs6000.c:4237 #, fuzzy #| msgid "Use hardware floating point" msgid "-mvsx requires hardware floating point" msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\"" ! #: config/rs6000/rs6000.c:4245 msgid "-mvsx and -mpaired are incompatible" msgstr "" ! #: config/rs6000/rs6000.c:4247 msgid "-mvsx needs indexed addressing" msgstr "" ! #: config/rs6000/rs6000.c:4252 msgid "-mvsx and -mno-altivec are incompatible" msgstr "" ! #: config/rs6000/rs6000.c:4254 msgid "-mno-altivec disables vsx" msgstr "" ! #: config/rs6000/rs6000.c:4462 msgid "-mquad-memory requires 64-bit mode" msgstr "" ! #: config/rs6000/rs6000.c:4465 msgid "-mquad-memory-atomic requires 64-bit mode" msgstr "" ! #: config/rs6000/rs6000.c:4477 msgid "-mquad-memory is not available in little endian mode" msgstr "" ! #: config/rs6000/rs6000.c:4549 msgid "-mtoc-fusion requires 64-bit" msgstr "" ! #: config/rs6000/rs6000.c:4556 msgid "-mtoc-fusion requires medium/large code model" msgstr "" ! #: config/rs6000/rs6000.c:11276 msgid "bad move" msgstr "" ! #: config/rs6000/rs6000.c:23246 msgid "Bad 128-bit move" msgstr "" ! #: config/rs6000/rs6000.c:23437 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%e value" msgstr "дрÑннае %%Q значÑнне" ! #: config/rs6000/rs6000.c:23458 #, c-format msgid "invalid %%f value" msgstr "" ! #: config/rs6000/rs6000.c:23467 #, c-format msgid "invalid %%F value" msgstr "" ! #: config/rs6000/rs6000.c:23476 #, c-format msgid "invalid %%G value" msgstr "" ! #: config/rs6000/rs6000.c:23511 #, c-format msgid "invalid %%j code" msgstr "" ! #: config/rs6000/rs6000.c:23521 #, c-format msgid "invalid %%J code" msgstr "" ! #: config/rs6000/rs6000.c:23531 #, c-format msgid "invalid %%k value" msgstr "" ! #: config/rs6000/rs6000.c:23546 config/xtensa/xtensa.c:2350 #, c-format msgid "invalid %%K value" msgstr "" ! #: config/rs6000/rs6000.c:23593 #, c-format msgid "invalid %%O value" msgstr "нерÑчаіÑнае значÑньне %%O" ! #: config/rs6000/rs6000.c:23640 #, c-format msgid "invalid %%q value" msgstr "" ! #: config/rs6000/rs6000.c:23693 #, c-format msgid "invalid %%T value" msgstr "" ! #: config/rs6000/rs6000.c:23705 #, c-format msgid "invalid %%u value" msgstr "" ! #: config/rs6000/rs6000.c:23719 config/xtensa/xtensa.c:2320 #, c-format msgid "invalid %%v value" msgstr "" ! #: config/rs6000/rs6000.c:23786 config/xtensa/xtensa.c:2371 #, fuzzy, c-format #| msgid "invalid %%x/X value" msgid "invalid %%x value" msgstr "нерÑчаіÑнае значÑньне %%x/X" ! #: config/rs6000/rs6000.c:23934 #, fuzzy, c-format msgid "invalid %%y value, try using the 'Z' constraint" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/rs6000/rs6000.c:24650 msgid "__float128 and __ibm128 cannot be used in the same expression" msgstr "" ! #: config/rs6000/rs6000.c:24656 msgid "__ibm128 and long double cannot be used in the same expression" msgstr "" ! #: config/rs6000/rs6000.c:24662 msgid "__float128 and long double cannot be used in the same expression" msgstr "" ! #: config/rs6000/rs6000.c:38952 #, fuzzy #| msgid "too few arguments to function" msgid "AltiVec argument passed to unprototyped function" msgstr "не хапае аргументаў у функцыі" ! #: config/rs6000/rs6000.c:40758 #, fuzzy msgid "Could not generate addis value for fusion" msgstr "Стварыць код Ð´Ð»Ñ DLL" ! #: config/rs6000/rs6000.c:40830 msgid "Unable to generate load/store offset for fusion" msgstr "" ! #: config/rs6000/rs6000.c:40934 msgid "Bad GPR fusion" msgstr "" ! #: config/rs6000/rs6000.c:41152 msgid "emit_fusion_p9_load, bad reg #1" msgstr "" ! #: config/rs6000/rs6000.c:41198 msgid "emit_fusion_p9_load, bad reg #2" msgstr "" ! #: config/rs6000/rs6000.c:41201 msgid "emit_fusion_p9_load not MEM" msgstr "" ! #: config/rs6000/rs6000.c:41239 msgid "emit_fusion_p9_store, bad reg #1" msgstr "" ! #: config/rs6000/rs6000.c:41285 msgid "emit_fusion_p9_store, bad reg #2" msgstr "" ! #: config/rs6000/rs6000.c:41288 msgid "emit_fusion_p9_store not MEM" msgstr "" ! #: config/s390/s390.c:7489 #, c-format msgid "symbolic memory references are only supported on z10 or later" msgstr "" ! #: config/s390/s390.c:7500 #, fuzzy, c-format msgid "cannot decompose address" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s" ! #: config/s390/s390.c:7569 #, c-format msgid "invalid comparison operator for 'E' output modifier" msgstr "" ! #: config/s390/s390.c:7592 #, c-format msgid "invalid reference for 'J' output modifier" msgstr "" ! #: config/s390/s390.c:7610 #, c-format msgid "invalid address for 'O' output modifier" msgstr "" ! #: config/s390/s390.c:7632 #, c-format msgid "invalid address for 'R' output modifier" msgstr "" ! #: config/s390/s390.c:7650 #, c-format msgid "memory reference expected for 'S' output modifier" msgstr "" ! #: config/s390/s390.c:7660 #, c-format msgid "invalid address for 'S' output modifier" msgstr "" ! #: config/s390/s390.c:7681 #, c-format msgid "register or memory expression expected for 'N' output modifier" msgstr "" ! #: config/s390/s390.c:7692 #, c-format msgid "register or memory expression expected for 'M' output modifier" msgstr "" ! #: config/s390/s390.c:7778 config/s390/s390.c:7799 #, c-format msgid "invalid constant for output modifier '%c'" msgstr "" ! #: config/s390/s390.c:7796 #, c-format msgid "invalid constant - try using an output modifier" msgstr "" ! #: config/s390/s390.c:7833 #, c-format msgid "invalid constant vector for output modifier '%c'" msgstr "" ! #: config/s390/s390.c:7840 #, c-format msgid "invalid expression - try using an output modifier" msgstr "" ! #: config/s390/s390.c:7843 #, c-format msgid "invalid expression for output modifier '%c'" msgstr "" ! #: config/s390/s390.c:11710 #, fuzzy #| msgid "too few arguments to function" msgid "vector argument passed to unprototyped function" msgstr "не хапае аргументаў у функцыі" ! #: config/s390/s390.c:15529 msgid "types differ in signedness" msgstr "" ! #: config/s390/s390.c:15539 msgid "binary operator does not support two vector bool operands" msgstr "" ! #: config/s390/s390.c:15542 msgid "binary operator does not support vector bool operand" msgstr "" ! #: config/s390/s390.c:15550 msgid "binary operator does not support mixing vector bool with floating point vector operands" msgstr "" *************** msgstr "" *** 4035,4077 **** msgid "created and used with different endianness" msgstr "" ! #: config/sparc/sparc.c:8863 config/sparc/sparc.c:8869 #, c-format msgid "invalid %%Y operand" msgstr "нерÑчаіÑны %%Y аперанд" ! #: config/sparc/sparc.c:8956 #, c-format msgid "invalid %%A operand" msgstr "нерÑчаіÑны %%A аперанд" ! #: config/sparc/sparc.c:8976 #, c-format msgid "invalid %%B operand" msgstr "нерÑчаіÑны %%B аперанд" ! #: config/sparc/sparc.c:9056 config/tilegx/tilegx.c:5103 #: config/tilepro/tilepro.c:4512 #, c-format msgid "invalid %%C operand" msgstr "нерÑчаіÑны %%C аперанд" ! #: config/sparc/sparc.c:9088 config/tilegx/tilegx.c:5136 #, c-format msgid "invalid %%D operand" msgstr "нерÑчаіÑны %%D аперанд" ! #: config/sparc/sparc.c:9107 #, c-format msgid "invalid %%f operand" msgstr "нерÑчаіÑны %%f аперанд" ! #: config/sparc/sparc.c:9119 #, fuzzy, c-format msgid "invalid %%s operand" msgstr "нерÑчаіÑны %%-код" ! #: config/sparc/sparc.c:9164 #, c-format msgid "floating-point constant not a valid immediate operand" msgstr "" --- 4035,4077 ---- msgid "created and used with different endianness" msgstr "" ! #: config/sparc/sparc.c:9004 config/sparc/sparc.c:9010 #, c-format msgid "invalid %%Y operand" msgstr "нерÑчаіÑны %%Y аперанд" ! #: config/sparc/sparc.c:9097 #, c-format msgid "invalid %%A operand" msgstr "нерÑчаіÑны %%A аперанд" ! #: config/sparc/sparc.c:9117 #, c-format msgid "invalid %%B operand" msgstr "нерÑчаіÑны %%B аперанд" ! #: config/sparc/sparc.c:9197 config/tilegx/tilegx.c:5103 #: config/tilepro/tilepro.c:4512 #, c-format msgid "invalid %%C operand" msgstr "нерÑчаіÑны %%C аперанд" ! #: config/sparc/sparc.c:9229 config/tilegx/tilegx.c:5136 #, c-format msgid "invalid %%D operand" msgstr "нерÑчаіÑны %%D аперанд" ! #: config/sparc/sparc.c:9248 #, c-format msgid "invalid %%f operand" msgstr "нерÑчаіÑны %%f аперанд" ! #: config/sparc/sparc.c:9260 #, fuzzy, c-format msgid "invalid %%s operand" msgstr "нерÑчаіÑны %%-код" ! #: config/sparc/sparc.c:9305 #, c-format msgid "floating-point constant not a valid immediate operand" msgstr "" *************** msgstr "" *** 4236,4268 **** msgid "bad test" msgstr "" ! #: config/xtensa/xtensa.c:2307 #, fuzzy, c-format msgid "invalid %%D value" msgstr "дрÑннае %%Q значÑнне" ! #: config/xtensa/xtensa.c:2344 msgid "invalid mask" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¼Ð°Ñка" ! #: config/xtensa/xtensa.c:2377 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%d value" msgstr "дрÑннае %%Q значÑнне" ! #: config/xtensa/xtensa.c:2396 config/xtensa/xtensa.c:2406 #, fuzzy, c-format #| msgid "invalid %%x/X value" msgid "invalid %%t/%%b value" msgstr "нерÑчаіÑнае значÑньне %%x/X" ! #: config/xtensa/xtensa.c:2485 #, fuzzy msgid "no register in address" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s" ! #: config/xtensa/xtensa.c:2493 msgid "address offset not a constant" msgstr "" --- 4236,4268 ---- msgid "bad test" msgstr "" ! #: config/xtensa/xtensa.c:2308 #, fuzzy, c-format msgid "invalid %%D value" msgstr "дрÑннае %%Q значÑнне" ! #: config/xtensa/xtensa.c:2345 msgid "invalid mask" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¼Ð°Ñка" ! #: config/xtensa/xtensa.c:2378 #, fuzzy, c-format #| msgid "invalid %%Q value" msgid "invalid %%d value" msgstr "дрÑннае %%Q значÑнне" ! #: config/xtensa/xtensa.c:2397 config/xtensa/xtensa.c:2407 #, fuzzy, c-format #| msgid "invalid %%x/X value" msgid "invalid %%t/%%b value" msgstr "нерÑчаіÑнае значÑньне %%x/X" ! #: config/xtensa/xtensa.c:2486 #, fuzzy msgid "no register in address" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s" ! #: config/xtensa/xtensa.c:2494 msgid "address offset not a constant" msgstr "" *************** msgstr "" *** 4283,4290 **** #: c/gimple-parser.c:189 c/gimple-parser.c:198 c/gimple-parser.c:227 #: c/gimple-parser.c:1320 c/gimple-parser.c:1344 c/gimple-parser.c:1424 #: c/gimple-parser.c:1451 c/c-parser.c:2985 c/c-parser.c:9257 ! #: c/gimple-parser.c:1228 c/gimple-parser.c:1267 cp/parser.c:27236 ! #: cp/parser.c:27809 #, gcc-internal-format msgid "expected %<;%>" msgstr "" --- 4283,4290 ---- #: c/gimple-parser.c:189 c/gimple-parser.c:198 c/gimple-parser.c:227 #: c/gimple-parser.c:1320 c/gimple-parser.c:1344 c/gimple-parser.c:1424 #: c/gimple-parser.c:1451 c/c-parser.c:2985 c/c-parser.c:9257 ! #: c/gimple-parser.c:1228 c/gimple-parser.c:1267 cp/parser.c:27259 ! #: cp/parser.c:27832 #, gcc-internal-format msgid "expected %<;%>" msgstr "" *************** msgstr "" *** 4306,4319 **** #: c/c-parser.c:17131 c/c-parser.c:17573 c/c-parser.c:17631 c/c-parser.c:18057 #: c/gimple-parser.c:364 c/gimple-parser.c:783 c/gimple-parser.c:835 #: c/gimple-parser.c:861 c/gimple-parser.c:1148 c/gimple-parser.c:1289 ! #: c/gimple-parser.c:1378 c/c-parser.c:11143 cp/parser.c:24946 ! #: cp/parser.c:27812 #, gcc-internal-format msgid "expected %<(%>" msgstr "" #: c/c-parser.c:2217 c/c-parser.c:7364 c/c-parser.c:7769 c/c-parser.c:7810 ! #: c/c-parser.c:7948 c/c-parser.c:11932 cp/parser.c:27234 cp/parser.c:27827 #, gcc-internal-format msgid "expected %<,%>" msgstr "" --- 4306,4319 ---- #: c/c-parser.c:17131 c/c-parser.c:17573 c/c-parser.c:17631 c/c-parser.c:18057 #: c/gimple-parser.c:364 c/gimple-parser.c:783 c/gimple-parser.c:835 #: c/gimple-parser.c:861 c/gimple-parser.c:1148 c/gimple-parser.c:1289 ! #: c/gimple-parser.c:1378 c/c-parser.c:11143 cp/parser.c:24969 ! #: cp/parser.c:27835 #, gcc-internal-format msgid "expected %<(%>" msgstr "" #: c/c-parser.c:2217 c/c-parser.c:7364 c/c-parser.c:7769 c/c-parser.c:7810 ! #: c/c-parser.c:7948 c/c-parser.c:11932 cp/parser.c:27257 cp/parser.c:27850 #, gcc-internal-format msgid "expected %<,%>" msgstr "" *************** msgstr "" *** 4344,4350 **** #: c/gimple-parser.c:793 c/gimple-parser.c:815 c/gimple-parser.c:842 #: c/gimple-parser.c:865 c/gimple-parser.c:988 c/gimple-parser.c:1159 #: c/gimple-parser.c:1170 c/gimple-parser.c:1292 c/gimple-parser.c:1381 ! #: cp/parser.c:24979 cp/parser.c:27857 #, gcc-internal-format msgid "expected %<)%>" msgstr "" --- 4344,4350 ---- #: c/gimple-parser.c:793 c/gimple-parser.c:815 c/gimple-parser.c:842 #: c/gimple-parser.c:865 c/gimple-parser.c:988 c/gimple-parser.c:1159 #: c/gimple-parser.c:1170 c/gimple-parser.c:1292 c/gimple-parser.c:1381 ! #: cp/parser.c:25002 cp/parser.c:27880 #, gcc-internal-format msgid "expected %<)%>" msgstr "" *************** msgstr "" *** 4352,4358 **** #: c/c-parser.c:3619 c/c-parser.c:4573 c/c-parser.c:4609 c/c-parser.c:6267 #: c/c-parser.c:7879 c/c-parser.c:8237 c/c-parser.c:8390 c/c-parser.c:10829 #: c/c-parser.c:17969 c/c-parser.c:17971 c/c-parser.c:18310 ! #: c/gimple-parser.c:965 cp/parser.c:7115 cp/parser.c:27821 #, gcc-internal-format msgid "expected %<]%>" msgstr "" --- 4352,4358 ---- #: c/c-parser.c:3619 c/c-parser.c:4573 c/c-parser.c:4609 c/c-parser.c:6267 #: c/c-parser.c:7879 c/c-parser.c:8237 c/c-parser.c:8390 c/c-parser.c:10829 #: c/c-parser.c:17969 c/c-parser.c:17971 c/c-parser.c:18310 ! #: c/gimple-parser.c:965 cp/parser.c:7120 cp/parser.c:27844 #, gcc-internal-format msgid "expected %<]%>" msgstr "" *************** msgid "expected %<;%>, %<,%> or %<)%>" *** 4362,4375 **** msgstr "" #: c/c-parser.c:4429 c/c-parser.c:14776 c/gimple-parser.c:1493 ! #: cp/parser.c:27815 cp/parser.c:29742 #, gcc-internal-format msgid "expected %<}%>" msgstr "" #: c/c-parser.c:4743 c/c-parser.c:9598 c/c-parser.c:15502 c/c-parser.c:18336 #: c/gimple-parser.c:142 c/gimple-parser.c:1384 c/c-parser.c:2803 ! #: c/c-parser.c:3006 c/c-parser.c:9152 cp/parser.c:17788 cp/parser.c:27818 #, gcc-internal-format msgid "expected %<{%>" msgstr "" --- 4362,4375 ---- msgstr "" #: c/c-parser.c:4429 c/c-parser.c:14776 c/gimple-parser.c:1493 ! #: cp/parser.c:27838 cp/parser.c:29765 #, gcc-internal-format msgid "expected %<}%>" msgstr "" #: c/c-parser.c:4743 c/c-parser.c:9598 c/c-parser.c:15502 c/c-parser.c:18336 #: c/gimple-parser.c:142 c/gimple-parser.c:1384 c/c-parser.c:2803 ! #: c/c-parser.c:3006 c/c-parser.c:9152 cp/parser.c:17811 cp/parser.c:27841 #, gcc-internal-format msgid "expected %<{%>" msgstr "" *************** msgstr "" *** 4379,4385 **** #: c/c-parser.c:11621 c/c-parser.c:11756 c/c-parser.c:12125 c/c-parser.c:12217 #: c/c-parser.c:12870 c/c-parser.c:16975 c/c-parser.c:17034 #: c/gimple-parser.c:1432 c/gimple-parser.c:1459 c/c-parser.c:6174 ! #: c/c-parser.c:11237 cp/parser.c:27851 cp/parser.c:28953 cp/parser.c:31615 #, gcc-internal-format msgid "expected %<:%>" msgstr "" --- 4379,4385 ---- #: c/c-parser.c:11621 c/c-parser.c:11756 c/c-parser.c:12125 c/c-parser.c:12217 #: c/c-parser.c:12870 c/c-parser.c:16975 c/c-parser.c:17034 #: c/gimple-parser.c:1432 c/gimple-parser.c:1459 c/c-parser.c:6174 ! #: c/c-parser.c:11237 cp/parser.c:27874 cp/parser.c:28976 cp/parser.c:31638 #, gcc-internal-format msgid "expected %<:%>" msgstr "" *************** msgstr "" *** 4392,4415 **** msgid "Cilk array notation cannot be used for a throw expression" msgstr "" ! #: c/c-parser.c:5715 cp/semantics.c:1144 msgid "Cilk array notation cannot be used as a condition for switch statement" msgstr "" ! #: c/c-parser.c:5766 cp/semantics.c:799 msgid "Cilk array notation cannot be used as a condition for while statement" msgstr "" ! #: c/c-parser.c:5818 cp/parser.c:27745 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:5825 cp/semantics.c:858 msgid "Cilk array notation cannot be used as a condition for a do-while statement" msgstr "" ! #: c/c-parser.c:6028 cp/semantics.c:977 msgid "Cilk array notation cannot be used in a condition for a for-loop" msgstr "" --- 4392,4415 ---- msgid "Cilk array notation cannot be used for a throw expression" msgstr "" ! #: c/c-parser.c:5715 cp/semantics.c:1147 msgid "Cilk array notation cannot be used as a condition for switch statement" msgstr "" ! #: c/c-parser.c:5766 cp/semantics.c:802 msgid "Cilk array notation cannot be used as a condition for while statement" msgstr "" ! #: c/c-parser.c:5818 cp/parser.c:27768 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:5825 cp/semantics.c:861 msgid "Cilk array notation cannot be used as a condition for a do-while statement" msgstr "" ! #: c/c-parser.c:6028 cp/semantics.c:980 msgid "Cilk array notation cannot be used in a condition for a for-loop" msgstr "" *************** msgstr "" *** 4417,4434 **** msgid "expected %<.%>" msgstr "" ! #: c/c-parser.c:8823 c/c-parser.c:8855 c/c-parser.c:9095 cp/parser.c:29527 ! #: cp/parser.c:29601 #, gcc-internal-format msgid "expected %<@end%>" msgstr "" ! #: c/c-parser.c:9512 c/gimple-parser.c:778 cp/parser.c:27836 #, gcc-internal-format msgid "expected %<>%>" msgstr "" ! #: c/c-parser.c:12309 c/c-parser.c:13088 cp/parser.c:27860 #, gcc-internal-format msgid "expected %<,%> or %<)%>" msgstr "" --- 4417,4434 ---- msgid "expected %<.%>" msgstr "" ! #: c/c-parser.c:8823 c/c-parser.c:8855 c/c-parser.c:9095 cp/parser.c:29550 ! #: cp/parser.c:29624 #, gcc-internal-format msgid "expected %<@end%>" msgstr "" ! #: c/c-parser.c:9512 c/gimple-parser.c:778 cp/parser.c:27859 #, gcc-internal-format msgid "expected %<>%>" msgstr "" ! #: c/c-parser.c:12309 c/c-parser.c:13088 cp/parser.c:27883 #, gcc-internal-format msgid "expected %<,%> or %<)%>" msgstr "" *************** msgstr "" *** 4436,4452 **** #. All following cases are statements with LHS. #: c/c-parser.c:14488 c/c-parser.c:14532 c/c-parser.c:14760 c/c-parser.c:15001 #: c/c-parser.c:17172 c/c-parser.c:17795 c/gimple-parser.c:287 ! #: c/c-parser.c:4632 cp/parser.c:27839 #, gcc-internal-format msgid "expected %<=%>" msgstr "" ! #: c/c-parser.c:15545 c/c-parser.c:15535 cp/parser.c:35022 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "" ! #: c/c-parser.c:17957 c/c-parser.c:10764 cp/parser.c:27824 cp/parser.c:30884 #, gcc-internal-format msgid "expected %<[%>" msgstr "" --- 4436,4452 ---- #. All following cases are statements with LHS. #: c/c-parser.c:14488 c/c-parser.c:14532 c/c-parser.c:14760 c/c-parser.c:15001 #: c/c-parser.c:17172 c/c-parser.c:17795 c/gimple-parser.c:287 ! #: c/c-parser.c:4632 cp/parser.c:27862 #, gcc-internal-format msgid "expected %<=%>" msgstr "" ! #: c/c-parser.c:15545 c/c-parser.c:15535 cp/parser.c:35045 #, gcc-internal-format msgid "expected %<#pragma omp section%> or %<}%>" msgstr "" ! #: c/c-parser.c:17957 c/c-parser.c:10764 cp/parser.c:27847 cp/parser.c:30907 #, gcc-internal-format msgid "expected %<[%>" msgstr "" *************** msgstr "" *** 4455,4461 **** msgid "(anonymous)" msgstr "" ! #: c/gimple-parser.c:767 cp/parser.c:15443 cp/parser.c:27833 #, gcc-internal-format msgid "expected %<<%>" msgstr "" --- 4455,4461 ---- msgid "(anonymous)" msgstr "" ! #: c/gimple-parser.c:767 cp/parser.c:15462 cp/parser.c:27856 #, gcc-internal-format msgid "expected %<<%>" msgstr "" *************** msgstr "" *** 4464,4474 **** msgid "expected label" msgstr "" ! #: cp/call.c:9927 msgid "candidate 1:" msgstr "" ! #: cp/call.c:9928 msgid "candidate 2:" msgstr "" --- 4464,4474 ---- msgid "expected label" msgstr "" ! #: cp/call.c:9932 msgid "candidate 1:" msgstr "" ! #: cp/call.c:9933 msgid "candidate 2:" msgstr "" *************** msgstr "" *** 4704,4714 **** msgid "%r%s:%d:%R in constexpr expansion of %qs" msgstr "" ! #: cp/pt.c:1950 cp/semantics.c:5250 msgid "candidates are:" msgstr "" ! #: cp/pt.c:21895 msgid "candidate is:" msgid_plural "candidates are:" msgstr[0] "" --- 4704,4714 ---- msgid "%r%s:%d:%R in constexpr expansion of %qs" msgstr "" ! #: cp/pt.c:1950 cp/semantics.c:5263 msgid "candidates are:" msgstr "" ! #: cp/pt.c:21984 msgid "candidate is:" msgid_plural "candidates are:" msgstr[0] "" *************** msgstr "увага:" *** 4888,4967 **** msgid "actual argument to INTENT = OUT/INOUT" msgstr "" ! #: fortran/io.c:585 msgid "Positive width required" msgstr "" ! #: fortran/io.c:586 msgid "Nonnegative width required" msgstr "" ! #: fortran/io.c:587 msgid "Unexpected element %qc in format string at %L" msgstr "" ! #: fortran/io.c:589 msgid "Unexpected end of format string" msgstr "" ! #: fortran/io.c:590 msgid "Zero width in format descriptor" msgstr "" ! #: fortran/io.c:610 msgid "Missing leading left parenthesis" msgstr "" ! #: fortran/io.c:639 msgid "Left parenthesis required after %<*%>" msgstr "" ! #: fortran/io.c:670 msgid "Expected P edit descriptor" msgstr "" #. P requires a prior number. ! #: fortran/io.c:678 msgid "P descriptor requires leading scale factor" msgstr "" ! #: fortran/io.c:726 ! #, c-format ! msgid "Right parenthesis expected at %C" ! msgstr "" ! ! #: fortran/io.c:819 fortran/io.c:833 msgid "Comma required after P descriptor" msgstr "" ! #: fortran/io.c:847 msgid "Positive width required with T descriptor" msgstr "" ! #: fortran/io.c:930 msgid "E specifier not allowed with g0 descriptor" msgstr "" ! #: fortran/io.c:1000 msgid "Positive exponent width required" msgstr "" ! #: fortran/io.c:1030 msgid "Period required in format specifier" msgstr "" ! #: fortran/io.c:1748 #, c-format msgid "%s tag" msgstr "" ! #: fortran/io.c:3217 msgid "internal unit in WRITE" msgstr "" #. For INQUIRE, all tags except FILE, ID and UNIT are variable definition #. contexts. Thus, use an extended RESOLVE_TAG macro for that. ! #: fortran/io.c:4484 #, c-format msgid "%s tag with INQUIRE" msgstr "" --- 4888,4967 ---- msgid "actual argument to INTENT = OUT/INOUT" msgstr "" ! #: fortran/io.c:595 msgid "Positive width required" msgstr "" ! #: fortran/io.c:596 msgid "Nonnegative width required" msgstr "" ! #: fortran/io.c:597 msgid "Unexpected element %qc in format string at %L" msgstr "" ! #: fortran/io.c:599 msgid "Unexpected end of format string" msgstr "" ! #: fortran/io.c:600 msgid "Zero width in format descriptor" msgstr "" ! #: fortran/io.c:620 msgid "Missing leading left parenthesis" msgstr "" ! #: fortran/io.c:649 msgid "Left parenthesis required after %<*%>" msgstr "" ! #: fortran/io.c:680 msgid "Expected P edit descriptor" msgstr "" #. P requires a prior number. ! #: fortran/io.c:688 msgid "P descriptor requires leading scale factor" msgstr "" ! #: fortran/io.c:782 fortran/io.c:796 msgid "Comma required after P descriptor" msgstr "" ! #: fortran/io.c:810 msgid "Positive width required with T descriptor" msgstr "" ! #: fortran/io.c:893 msgid "E specifier not allowed with g0 descriptor" msgstr "" ! #: fortran/io.c:963 msgid "Positive exponent width required" msgstr "" ! #: fortran/io.c:1006 ! #, c-format ! msgid "Right parenthesis expected at %C" ! msgstr "" ! ! #: fortran/io.c:1040 msgid "Period required in format specifier" msgstr "" ! #: fortran/io.c:1758 #, c-format msgid "%s tag" msgstr "" ! #: fortran/io.c:3251 msgid "internal unit in WRITE" msgstr "" #. For INQUIRE, all tags except FILE, ID and UNIT are variable definition #. contexts. Thus, use an extended RESOLVE_TAG macro for that. ! #: fortran/io.c:4551 #, c-format msgid "%s tag with INQUIRE" msgstr "" *************** msgstr "" *** 4971,5047 **** msgid "Syntax error in expression at %C" msgstr "" ! #: fortran/module.c:1211 msgid "Unexpected EOF" msgstr "" ! #: fortran/module.c:1295 msgid "Integer overflow" msgstr "" ! #: fortran/module.c:1325 msgid "Name too long" msgstr "" ! #: fortran/module.c:1427 fortran/module.c:1530 msgid "Bad name" msgstr "" ! #: fortran/module.c:1554 msgid "Expected name" msgstr "" ! #: fortran/module.c:1557 msgid "Expected left parenthesis" msgstr "" ! #: fortran/module.c:1560 msgid "Expected right parenthesis" msgstr "" ! #: fortran/module.c:1563 msgid "Expected integer" msgstr "" ! #: fortran/module.c:1566 fortran/module.c:2559 msgid "Expected string" msgstr "" ! #: fortran/module.c:1591 msgid "find_enum(): Enum not found" msgstr "" ! #: fortran/module.c:2274 msgid "Expected attribute bit name" msgstr "" ! #: fortran/module.c:3163 msgid "Expected integer string" msgstr "" ! #: fortran/module.c:3167 msgid "Error converting integer" msgstr "" ! #: fortran/module.c:3189 msgid "Expected real string" msgstr "" ! #: fortran/module.c:3413 msgid "Expected expression type" msgstr "" ! #: fortran/module.c:3493 #, fuzzy #| msgid "invalid declarator" msgid "Bad operator" msgstr "нерÑчаіÑны абвÑшчальнік" ! #: fortran/module.c:3608 msgid "Bad type in constant expression" msgstr "" ! #: fortran/module.c:6950 msgid "Unexpected end of module" msgstr "" --- 4971,5047 ---- msgid "Syntax error in expression at %C" msgstr "" ! #: fortran/module.c:1212 msgid "Unexpected EOF" msgstr "" ! #: fortran/module.c:1296 msgid "Integer overflow" msgstr "" ! #: fortran/module.c:1326 msgid "Name too long" msgstr "" ! #: fortran/module.c:1428 fortran/module.c:1531 msgid "Bad name" msgstr "" ! #: fortran/module.c:1555 msgid "Expected name" msgstr "" ! #: fortran/module.c:1558 msgid "Expected left parenthesis" msgstr "" ! #: fortran/module.c:1561 msgid "Expected right parenthesis" msgstr "" ! #: fortran/module.c:1564 msgid "Expected integer" msgstr "" ! #: fortran/module.c:1567 fortran/module.c:2560 msgid "Expected string" msgstr "" ! #: fortran/module.c:1592 msgid "find_enum(): Enum not found" msgstr "" ! #: fortran/module.c:2275 msgid "Expected attribute bit name" msgstr "" ! #: fortran/module.c:3164 msgid "Expected integer string" msgstr "" ! #: fortran/module.c:3168 msgid "Error converting integer" msgstr "" ! #: fortran/module.c:3190 msgid "Expected real string" msgstr "" ! #: fortran/module.c:3414 msgid "Expected expression type" msgstr "" ! #: fortran/module.c:3494 #, fuzzy #| msgid "invalid declarator" msgid "Bad operator" msgstr "нерÑчаіÑны абвÑшчальнік" ! #: fortran/module.c:3609 msgid "Bad type in constant expression" msgstr "" ! #: fortran/module.c:6951 msgid "Unexpected end of module" msgstr "" *************** msgstr "" *** 5312,5323 **** msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" msgstr "" ! #: fortran/trans-expr.c:8617 #, c-format msgid "Target of rank remapping is too small (%ld < %ld)" msgstr "" ! #: fortran/trans-expr.c:9983 msgid "Assignment of scalar to unallocated array" msgstr "" --- 5312,5323 ---- msgid "Actual string length is shorter than the declared one for dummy argument '%s' (%ld/%ld)" msgstr "" ! #: fortran/trans-expr.c:8627 #, c-format msgid "Target of rank remapping is too small (%ld < %ld)" msgstr "" ! #: fortran/trans-expr.c:9993 msgid "Assignment of scalar to unallocated array" msgstr "" *************** msgstr "%s не падтрымлівае *** 5687,5693 **** #: config/sparc/linux64.h:149 config/sparc/linux64.h:156 #: config/sparc/netbsd-elf.h:108 config/sparc/netbsd-elf.h:117 ! #: config/sparc/sol2.h:228 config/sparc/sol2.h:234 msgid "may not use both -m32 and -m64" msgstr "" --- 5687,5693 ---- #: config/sparc/linux64.h:149 config/sparc/linux64.h:156 #: config/sparc/netbsd-elf.h:108 config/sparc/netbsd-elf.h:117 ! #: config/sparc/sol2.h:237 config/sparc/sol2.h:243 msgid "may not use both -m32 and -m64" msgstr "" *************** msgid "Specify bit size of immediate TLS *** 8673,8679 **** msgstr "" #: config/ia64/ia64.opt:122 config/spu/spu.opt:84 config/i386/i386.opt:510 ! #: config/s390/s390.opt:197 config/sparc/sparc.opt:138 #: config/visium/visium.opt:49 #, fuzzy #| msgid "Generate code for given CPU" --- 8673,8679 ---- msgstr "" #: config/ia64/ia64.opt:122 config/spu/spu.opt:84 config/i386/i386.opt:510 ! #: config/s390/s390.opt:200 config/sparc/sparc.opt:146 #: config/visium/visium.opt:49 #, fuzzy #| msgid "Generate code for given CPU" *************** msgstr "" *** 8909,8915 **** msgid "target the software simulator." msgstr "" ! #: config/ft32/ft32.opt:27 config/s390/s390.opt:228 config/mips/mips.opt:389 msgid "Use LRA instead of reload." msgstr "" --- 8909,8915 ---- msgid "target the software simulator." msgstr "" ! #: config/ft32/ft32.opt:27 config/s390/s390.opt:231 config/mips/mips.opt:389 msgid "Use LRA instead of reload." msgstr "" *************** msgstr "" *** 9161,9174 **** msgid "Use 80-bit long double." msgstr "" ! #: config/i386/i386.opt:204 config/s390/s390.opt:157 #: config/sparc/long-double-switch.opt:27 config/alpha/alpha.opt:102 #, fuzzy #| msgid "Use 64 bit float" msgid "Use 64-bit long double." msgstr "ВыкарыÑтоўваць 64-Ñ… бітны float" ! #: config/i386/i386.opt:208 config/s390/s390.opt:153 #: config/sparc/long-double-switch.opt:23 config/alpha/alpha.opt:98 msgid "Use 128-bit long double." msgstr "" --- 9161,9174 ---- msgid "Use 80-bit long double." msgstr "" ! #: config/i386/i386.opt:204 config/s390/s390.opt:160 #: config/sparc/long-double-switch.opt:27 config/alpha/alpha.opt:102 #, fuzzy #| msgid "Use 64 bit float" msgid "Use 64-bit long double." msgstr "ВыкарыÑтоўваць 64-Ñ… бітны float" ! #: config/i386/i386.opt:208 config/s390/s390.opt:156 #: config/sparc/long-double-switch.opt:23 config/alpha/alpha.opt:98 msgid "Use 128-bit long double." msgstr "" *************** msgstr "" *** 10259,10349 **** msgid "64 bit ABI." msgstr "" ! #: config/s390/s390.opt:123 msgid "Maintain backchain pointer." msgstr "" ! #: config/s390/s390.opt:127 msgid "Additional debug prints." msgstr "" ! #: config/s390/s390.opt:131 msgid "ESA/390 architecture." msgstr "" ! #: config/s390/s390.opt:135 msgid "Enable decimal floating point hardware support." msgstr "" ! #: config/s390/s390.opt:139 #, fuzzy #| msgid "Use hardware floating point" msgid "Enable hardware floating point." msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\"" ! #: config/s390/s390.opt:143 msgid "Takes two non-negative integer numbers separated by a comma. Prepend the function label with the number of two-byte Nop instructions indicated by the first. Append Nop instructions covering the number of halfwords indicated by the second after the label. Nop instructions of the largest possible size are used (six, four or two bytes), beginning with the largest possible size. Using 0 for both values disables hotpatching." msgstr "" ! #: config/s390/s390.opt:161 msgid "Use hardware transactional execution instructions." msgstr "" ! #: config/s390/s390.opt:165 msgid "Use hardware vector facility instructions and enable the vector ABI." msgstr "" ! #: config/s390/s390.opt:169 msgid "Use packed stack layout." msgstr "" ! #: config/s390/s390.opt:173 msgid "Use bras for executable < 64k." msgstr "" ! #: config/s390/s390.opt:177 #, fuzzy #| msgid "Use hardware floating point" msgid "Disable hardware floating point." msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\"" ! #: config/s390/s390.opt:181 msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered." msgstr "" ! #: config/s390/s390.opt:185 msgid "Switches off the -mstack-guard= option." msgstr "" ! #: config/s390/s390.opt:189 msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit." msgstr "" ! #: config/s390/s390.opt:193 msgid "Switches off the -mstack-size= option." msgstr "" ! #: config/s390/s390.opt:201 msgid "Use the mvcle instruction for block moves." msgstr "" ! #: config/s390/s390.opt:205 msgid "Enable the z vector language extension providing the context-sensitive vector macro and enable the Altivec-style builtins in vecintrin.h." msgstr "" ! #: config/s390/s390.opt:210 msgid "Warn if a function uses alloca or creates an array with dynamic size." msgstr "" ! #: config/s390/s390.opt:214 msgid "Warn if a single function's framesize exceeds the given framesize." msgstr "" ! #: config/s390/s390.opt:218 msgid "z/Architecture." msgstr "" ! #: config/s390/s390.opt:222 msgid "Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 1." msgstr "" --- 10259,10349 ---- msgid "64 bit ABI." msgstr "" ! #: config/s390/s390.opt:126 msgid "Maintain backchain pointer." msgstr "" ! #: config/s390/s390.opt:130 msgid "Additional debug prints." msgstr "" ! #: config/s390/s390.opt:134 msgid "ESA/390 architecture." msgstr "" ! #: config/s390/s390.opt:138 msgid "Enable decimal floating point hardware support." msgstr "" ! #: config/s390/s390.opt:142 #, fuzzy #| msgid "Use hardware floating point" msgid "Enable hardware floating point." msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\"" ! #: config/s390/s390.opt:146 msgid "Takes two non-negative integer numbers separated by a comma. Prepend the function label with the number of two-byte Nop instructions indicated by the first. Append Nop instructions covering the number of halfwords indicated by the second after the label. Nop instructions of the largest possible size are used (six, four or two bytes), beginning with the largest possible size. Using 0 for both values disables hotpatching." msgstr "" ! #: config/s390/s390.opt:164 msgid "Use hardware transactional execution instructions." msgstr "" ! #: config/s390/s390.opt:168 msgid "Use hardware vector facility instructions and enable the vector ABI." msgstr "" ! #: config/s390/s390.opt:172 msgid "Use packed stack layout." msgstr "" ! #: config/s390/s390.opt:176 msgid "Use bras for executable < 64k." msgstr "" ! #: config/s390/s390.opt:180 #, fuzzy #| msgid "Use hardware floating point" msgid "Disable hardware floating point." msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\"" ! #: config/s390/s390.opt:184 msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered." msgstr "" ! #: config/s390/s390.opt:188 msgid "Switches off the -mstack-guard= option." msgstr "" ! #: config/s390/s390.opt:192 msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit." msgstr "" ! #: config/s390/s390.opt:196 msgid "Switches off the -mstack-size= option." msgstr "" ! #: config/s390/s390.opt:204 msgid "Use the mvcle instruction for block moves." msgstr "" ! #: config/s390/s390.opt:208 msgid "Enable the z vector language extension providing the context-sensitive vector macro and enable the Altivec-style builtins in vecintrin.h." msgstr "" ! #: config/s390/s390.opt:213 msgid "Warn if a function uses alloca or creates an array with dynamic size." msgstr "" ! #: config/s390/s390.opt:217 msgid "Warn if a single function's framesize exceeds the given framesize." msgstr "" ! #: config/s390/s390.opt:221 msgid "z/Architecture." msgstr "" ! #: config/s390/s390.opt:225 msgid "Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 1." msgstr "" *************** msgstr "" *** 10395,10405 **** msgid "Known ARM CPUs (for use with the -mcpu= and -mtune= options):" msgstr "" ! #: config/arm/arm-tables.opt:359 msgid "Known ARM architectures (for use with the -march= option):" msgstr "" ! #: config/arm/arm-tables.opt:471 msgid "Known ARM FPUs (for use with the -mfpu= option):" msgstr "" --- 10395,10405 ---- msgid "Known ARM CPUs (for use with the -mcpu= and -mtune= options):" msgstr "" ! #: config/arm/arm-tables.opt:353 msgid "Known ARM architectures (for use with the -march= option):" msgstr "" ! #: config/arm/arm-tables.opt:465 msgid "Known ARM FPUs (for use with the -mfpu= option):" msgstr "" *************** msgid "Use UltraSPARC Visual Instruction *** 10639,10722 **** msgstr "" #: config/sparc/sparc.opt:86 ! msgid "Use UltraSPARC Compare-and-Branch extensions." msgstr "" #: config/sparc/sparc.opt:90 ! msgid "Use UltraSPARC Fused Multiply-Add extensions." msgstr "" #: config/sparc/sparc.opt:94 ! msgid "Use UltraSPARC Population-Count instruction." msgstr "" #: config/sparc/sparc.opt:98 ! msgid "Use UltraSPARC Subtract-Extended-with-Carry instruction." msgstr "" #: config/sparc/sparc.opt:102 ! msgid "Pointers are 64-bit." msgstr "" #: config/sparc/sparc.opt:106 ! msgid "Pointers are 32-bit." msgstr "" #: config/sparc/sparc.opt:110 #, fuzzy #| msgid "Use 64 bit float" msgid "Use 64-bit ABI." msgstr "ВыкарыÑтоўваць 64-Ñ… бітны float" ! #: config/sparc/sparc.opt:114 #, fuzzy #| msgid "Use 32 bit int" msgid "Use 32-bit ABI." msgstr "ВыкарыÑтоўваць 32-Ñ… бітны int" ! #: config/sparc/sparc.opt:118 msgid "Use stack bias." msgstr "" ! #: config/sparc/sparc.opt:122 msgid "Use structs on stronger alignment for double-word copies." msgstr "" ! #: config/sparc/sparc.opt:126 msgid "Optimize tail call instructions in assembler and linker." msgstr "" ! #: config/sparc/sparc.opt:130 msgid "Do not generate code that can only run in supervisor mode (default)." msgstr "" ! #: config/sparc/sparc.opt:134 config/visium/visium.opt:45 #, fuzzy #| msgid "Generate code for given CPU" msgid "Use features of and schedule code for given CPU." msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП" ! #: config/sparc/sparc.opt:214 msgid "Use given SPARC-V9 code model." msgstr "" ! #: config/sparc/sparc.opt:218 msgid "Enable debug output." msgstr "" ! #: config/sparc/sparc.opt:222 msgid "Enable strict 32-bit psABI struct return checking." msgstr "" ! #: config/sparc/sparc.opt:226 msgid "Enable workaround for single erratum of AT697F processor (corresponding to erratum #13 of AT697E processor)." msgstr "" ! #: config/sparc/sparc.opt:231 msgid "Enable workarounds for the errata of the UT699 processor." msgstr "" ! #: config/sparc/sparc.opt:260 msgid "Specify the memory model in effect for the program." msgstr "" --- 10639,10738 ---- msgstr "" #: config/sparc/sparc.opt:86 ! msgid "Use additional VIS instructions introduced in OSA2017." msgstr "" #: config/sparc/sparc.opt:90 ! msgid "Use UltraSPARC Compare-and-Branch extensions." msgstr "" #: config/sparc/sparc.opt:94 ! msgid "Use UltraSPARC Fused Multiply-Add extensions." msgstr "" #: config/sparc/sparc.opt:98 ! msgid "Use Floating-point Multiply Single to Double (FsMULd) instruction." msgstr "" #: config/sparc/sparc.opt:102 ! msgid "Use UltraSPARC Population-Count instruction." msgstr "" #: config/sparc/sparc.opt:106 ! msgid "Use UltraSPARC Subtract-Extended-with-Carry instruction." msgstr "" #: config/sparc/sparc.opt:110 + msgid "Pointers are 64-bit." + msgstr "" + + #: config/sparc/sparc.opt:114 + msgid "Pointers are 32-bit." + msgstr "" + + #: config/sparc/sparc.opt:118 #, fuzzy #| msgid "Use 64 bit float" msgid "Use 64-bit ABI." msgstr "ВыкарыÑтоўваць 64-Ñ… бітны float" ! #: config/sparc/sparc.opt:122 #, fuzzy #| msgid "Use 32 bit int" msgid "Use 32-bit ABI." msgstr "ВыкарыÑтоўваць 32-Ñ… бітны int" ! #: config/sparc/sparc.opt:126 msgid "Use stack bias." msgstr "" ! #: config/sparc/sparc.opt:130 msgid "Use structs on stronger alignment for double-word copies." msgstr "" ! #: config/sparc/sparc.opt:134 msgid "Optimize tail call instructions in assembler and linker." msgstr "" ! #: config/sparc/sparc.opt:138 msgid "Do not generate code that can only run in supervisor mode (default)." msgstr "" ! #: config/sparc/sparc.opt:142 config/visium/visium.opt:45 #, fuzzy #| msgid "Generate code for given CPU" msgid "Use features of and schedule code for given CPU." msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП" ! #: config/sparc/sparc.opt:225 msgid "Use given SPARC-V9 code model." msgstr "" ! #: config/sparc/sparc.opt:229 msgid "Enable debug output." msgstr "" ! #: config/sparc/sparc.opt:233 msgid "Enable strict 32-bit psABI struct return checking." msgstr "" ! #: config/sparc/sparc.opt:237 msgid "Enable workaround for single erratum of AT697F processor (corresponding to erratum #13 of AT697E processor)." msgstr "" ! #: config/sparc/sparc.opt:242 msgid "Enable workarounds for the errata of the UT699 processor." msgstr "" ! #: config/sparc/sparc.opt:246 ! msgid "Enable workarounds for the errata of the UT699E/UT700 processor." ! msgstr "" ! ! #: config/sparc/sparc.opt:250 ! msgid "Enable workarounds for the errata of the GR712RC processor." ! msgstr "" ! ! #: config/sparc/sparc.opt:283 msgid "Specify the memory model in effect for the program." msgstr "" *************** msgid "Detect paths that trigger erroneo *** 15331,15337 **** msgstr "" #: common.opt:2495 ! msgid "Detect paths that trigger erroneous or undefined behavior due a null value being used in a way forbidden by a returns_nonnull or nonnull attribute. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap." msgstr "" #: common.opt:2502 --- 15347,15353 ---- msgstr "" #: common.opt:2495 ! msgid "Detect paths that trigger erroneous or undefined behavior due to a null value being used in a way forbidden by a returns_nonnull or nonnull attribute. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap." msgstr "" #: common.opt:2502 *************** msgid "expected boolean type" *** 15752,15758 **** msgstr "" #: go/gofrontend/expressions.cc:4204 c/c-parser.c:12782 c/c-parser.c:12789 ! #: cp/parser.c:32592 cp/parser.c:32599 #, gcc-internal-format msgid "expected integer" msgstr "" --- 15768,15774 ---- msgstr "" #: go/gofrontend/expressions.cc:4204 c/c-parser.c:12782 c/c-parser.c:12789 ! #: cp/parser.c:32615 cp/parser.c:32622 #, gcc-internal-format msgid "expected integer" msgstr "" *************** msgstr "" *** 16059,16192 **** msgid "range clause must have array, slice, string, map, or channel type" msgstr "" ! #: go/gofrontend/types.cc:513 #, fuzzy msgid "invalid comparison of non-ordered type" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: go/gofrontend/types.cc:529 msgid "slice can only be compared to nil" msgstr "" ! #: go/gofrontend/types.cc:531 msgid "map can only be compared to nil" msgstr "" ! #: go/gofrontend/types.cc:533 msgid "func can only be compared to nil" msgstr "" ! #: go/gofrontend/types.cc:539 #, fuzzy, c-format msgid "invalid operation (%s)" msgstr "ÐерÑчаіÑны выбар %s" ! #: go/gofrontend/types.cc:562 msgid "invalid comparison of non-comparable type" msgstr "" ! #: go/gofrontend/types.cc:575 #, fuzzy #| msgid "invalid use of `restrict'" msgid "invalid comparison of generated struct" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: go/gofrontend/types.cc:586 msgid "invalid comparison of non-comparable struct" msgstr "" ! #: go/gofrontend/types.cc:596 #, fuzzy msgid "invalid comparison of generated array" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: go/gofrontend/types.cc:603 msgid "invalid comparison of non-comparable array" msgstr "" ! #: go/gofrontend/types.cc:631 msgid "multiple-value function call in single-value context" msgstr "" ! #: go/gofrontend/types.cc:708 msgid "need explicit conversion" msgstr "" ! #: go/gofrontend/types.cc:715 #, c-format msgid "cannot use type %s as type %s" msgstr "" ! #: go/gofrontend/types.cc:3849 msgid "different receiver types" msgstr "" ! #: go/gofrontend/types.cc:3869 go/gofrontend/types.cc:3882 ! #: go/gofrontend/types.cc:3897 msgid "different number of parameters" msgstr "" ! #: go/gofrontend/types.cc:3890 #, fuzzy #| msgid "invalid parameter type `%T'" msgid "different parameter types" msgstr "нерÑчаіÑны тып парамÑтра `%T'" ! #: go/gofrontend/types.cc:3905 msgid "different varargs" msgstr "" ! #: go/gofrontend/types.cc:3914 go/gofrontend/types.cc:3927 ! #: go/gofrontend/types.cc:3942 msgid "different number of results" msgstr "" ! #: go/gofrontend/types.cc:3935 msgid "different result types" msgstr "" ! #: go/gofrontend/types.cc:8423 #, c-format msgid "need explicit conversion; missing method %s%s%s" msgstr "" ! #: go/gofrontend/types.cc:8440 go/gofrontend/types.cc:8582 #, fuzzy, c-format #| msgid "no data type for mode `%s'" msgid "incompatible type for method %s%s%s" msgstr "нÑма тыпа дадзеных Ð´Ð»Ñ Ñ€Ñжыма \"%s\"" ! #: go/gofrontend/types.cc:8444 go/gofrontend/types.cc:8586 #, fuzzy, c-format #| msgid "no data type for mode `%s'" msgid "incompatible type for method %s%s%s (%s)" msgstr "нÑма тыпа дадзеных Ð´Ð»Ñ Ñ€Ñжыма \"%s\"" ! #: go/gofrontend/types.cc:8523 go/gofrontend/types.cc:8536 msgid "pointer to interface type has no methods" msgstr "" ! #: go/gofrontend/types.cc:8525 go/gofrontend/types.cc:8538 msgid "type has no methods" msgstr "" ! #: go/gofrontend/types.cc:8559 #, c-format msgid "ambiguous method %s%s%s" msgstr "" ! #: go/gofrontend/types.cc:8562 #, fuzzy, c-format #| msgid "missing field '%s' in '%s'" msgid "missing method %s%s%s" msgstr "прапушчана поле '%s' у '%s'" ! #: go/gofrontend/types.cc:8603 #, c-format msgid "method %s%s%s requires a pointer receiver" msgstr "" ! #: go/gofrontend/types.cc:8621 #, c-format msgid "method %s%s%s is marked go:nointerface" msgstr "" --- 16075,16208 ---- msgid "range clause must have array, slice, string, map, or channel type" msgstr "" ! #: go/gofrontend/types.cc:525 #, fuzzy msgid "invalid comparison of non-ordered type" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: go/gofrontend/types.cc:541 msgid "slice can only be compared to nil" msgstr "" ! #: go/gofrontend/types.cc:543 msgid "map can only be compared to nil" msgstr "" ! #: go/gofrontend/types.cc:545 msgid "func can only be compared to nil" msgstr "" ! #: go/gofrontend/types.cc:551 #, fuzzy, c-format msgid "invalid operation (%s)" msgstr "ÐерÑчаіÑны выбар %s" ! #: go/gofrontend/types.cc:574 msgid "invalid comparison of non-comparable type" msgstr "" ! #: go/gofrontend/types.cc:587 #, fuzzy #| msgid "invalid use of `restrict'" msgid "invalid comparison of generated struct" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: go/gofrontend/types.cc:598 msgid "invalid comparison of non-comparable struct" msgstr "" ! #: go/gofrontend/types.cc:608 #, fuzzy msgid "invalid comparison of generated array" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: go/gofrontend/types.cc:615 msgid "invalid comparison of non-comparable array" msgstr "" ! #: go/gofrontend/types.cc:643 msgid "multiple-value function call in single-value context" msgstr "" ! #: go/gofrontend/types.cc:720 msgid "need explicit conversion" msgstr "" ! #: go/gofrontend/types.cc:727 #, c-format msgid "cannot use type %s as type %s" msgstr "" ! #: go/gofrontend/types.cc:3864 msgid "different receiver types" msgstr "" ! #: go/gofrontend/types.cc:3884 go/gofrontend/types.cc:3897 ! #: go/gofrontend/types.cc:3912 msgid "different number of parameters" msgstr "" ! #: go/gofrontend/types.cc:3905 #, fuzzy #| msgid "invalid parameter type `%T'" msgid "different parameter types" msgstr "нерÑчаіÑны тып парамÑтра `%T'" ! #: go/gofrontend/types.cc:3920 msgid "different varargs" msgstr "" ! #: go/gofrontend/types.cc:3929 go/gofrontend/types.cc:3942 ! #: go/gofrontend/types.cc:3958 msgid "different number of results" msgstr "" ! #: go/gofrontend/types.cc:3951 msgid "different result types" msgstr "" ! #: go/gofrontend/types.cc:8445 #, c-format msgid "need explicit conversion; missing method %s%s%s" msgstr "" ! #: go/gofrontend/types.cc:8462 go/gofrontend/types.cc:8605 #, fuzzy, c-format #| msgid "no data type for mode `%s'" msgid "incompatible type for method %s%s%s" msgstr "нÑма тыпа дадзеных Ð´Ð»Ñ Ñ€Ñжыма \"%s\"" ! #: go/gofrontend/types.cc:8466 go/gofrontend/types.cc:8609 #, fuzzy, c-format #| msgid "no data type for mode `%s'" msgid "incompatible type for method %s%s%s (%s)" msgstr "нÑма тыпа дадзеных Ð´Ð»Ñ Ñ€Ñжыма \"%s\"" ! #: go/gofrontend/types.cc:8545 go/gofrontend/types.cc:8558 msgid "pointer to interface type has no methods" msgstr "" ! #: go/gofrontend/types.cc:8547 go/gofrontend/types.cc:8560 msgid "type has no methods" msgstr "" ! #: go/gofrontend/types.cc:8581 #, c-format msgid "ambiguous method %s%s%s" msgstr "" ! #: go/gofrontend/types.cc:8584 #, fuzzy, c-format #| msgid "missing field '%s' in '%s'" msgid "missing method %s%s%s" msgstr "прапушчана поле '%s' у '%s'" ! #: go/gofrontend/types.cc:8626 #, c-format msgid "method %s%s%s requires a pointer receiver" msgstr "" ! #: go/gofrontend/types.cc:8644 #, c-format msgid "method %s%s%s is marked go:nointerface" msgstr "" *************** msgstr "" *** 16366,16372 **** msgid "specified bound %wu equals the size of the destination" msgstr "" ! #: builtins.c:4640 gimplify.c:3149 #, fuzzy, gcc-internal-format #| msgid "too few arguments to function `%s'" msgid "too few arguments to function %" --- 16382,16388 ---- msgid "specified bound %wu equals the size of the destination" msgstr "" ! #: builtins.c:4640 gimplify.c:3150 #, fuzzy, gcc-internal-format #| msgid "too few arguments to function `%s'" msgid "too few arguments to function %" *************** msgstr "" *** 16431,16459 **** msgid "invalid memory model for %<__atomic_load%>" msgstr "" ! #: builtins.c:5881 builtins.c:6068 #, fuzzy, gcc-internal-format #| msgid "invalid mode for gen_tst_reg" msgid "invalid memory model for %<__atomic_store%>" msgstr "нерÑчаіÑны Ñ€Ñжым Ð´Ð»Ñ gen_tst_reg" ! #: builtins.c:6186 #, gcc-internal-format msgid "non-constant argument 1 to __atomic_always_lock_free" msgstr "" ! #: builtins.c:6228 #, gcc-internal-format msgid "non-integer argument 1 to __atomic_is_lock_free" msgstr "" ! #: builtins.c:6292 #, fuzzy, gcc-internal-format #| msgid "__builtin_saveregs not supported by this target" msgid "__builtin_thread_pointer is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: builtins.c:6312 #, fuzzy, gcc-internal-format #| msgid "__builtin_saveregs not supported by this target" msgid "__builtin_set_thread_pointer is not supported on this target" --- 16447,16475 ---- msgid "invalid memory model for %<__atomic_load%>" msgstr "" ! #: builtins.c:5881 builtins.c:6074 #, fuzzy, gcc-internal-format #| msgid "invalid mode for gen_tst_reg" msgid "invalid memory model for %<__atomic_store%>" msgstr "нерÑчаіÑны Ñ€Ñжым Ð´Ð»Ñ gen_tst_reg" ! #: builtins.c:6192 #, gcc-internal-format msgid "non-constant argument 1 to __atomic_always_lock_free" msgstr "" ! #: builtins.c:6234 #, gcc-internal-format msgid "non-integer argument 1 to __atomic_is_lock_free" msgstr "" ! #: builtins.c:6298 #, fuzzy, gcc-internal-format #| msgid "__builtin_saveregs not supported by this target" msgid "__builtin_thread_pointer is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: builtins.c:6318 #, fuzzy, gcc-internal-format #| msgid "__builtin_saveregs not supported by this target" msgid "__builtin_set_thread_pointer is not supported on this target" *************** msgstr "__buitin_saveregs не Ð¿Ð°Ð´Ñ‚Ñ *** 16461,16496 **** #. All valid uses of __builtin_va_arg_pack () are removed during #. inlining. ! #: builtins.c:6572 expr.c:10797 #, gcc-internal-format msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>" msgstr "" #. All valid uses of __builtin_va_arg_pack_len () are removed during #. inlining. ! #: builtins.c:6578 #, gcc-internal-format msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>" msgstr "" ! #: builtins.c:6815 #, gcc-internal-format msgid "%<__builtin_longjmp%> second argument must be 1" msgstr "" #. Software implementation of Pointer Bounds Checker is NYI. #. Target support is required. ! #: builtins.c:7457 #, fuzzy, gcc-internal-format msgid "Your target platform does not support -fcheck-pointer-bounds" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: builtins.c:7776 #, fuzzy, gcc-internal-format msgid "target format does not support infinity" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: builtins.c:9394 #, fuzzy, gcc-internal-format #| msgid "`va_start' used in function with fixed args" msgid "% used in function with fixed args" --- 16477,16512 ---- #. All valid uses of __builtin_va_arg_pack () are removed during #. inlining. ! #: builtins.c:6578 expr.c:10795 #, gcc-internal-format msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>" msgstr "" #. All valid uses of __builtin_va_arg_pack_len () are removed during #. inlining. ! #: builtins.c:6584 #, gcc-internal-format msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>" msgstr "" ! #: builtins.c:6821 #, gcc-internal-format msgid "%<__builtin_longjmp%> second argument must be 1" msgstr "" #. Software implementation of Pointer Bounds Checker is NYI. #. Target support is required. ! #: builtins.c:7463 #, fuzzy, gcc-internal-format msgid "Your target platform does not support -fcheck-pointer-bounds" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: builtins.c:7782 #, fuzzy, gcc-internal-format msgid "target format does not support infinity" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: builtins.c:9400 #, fuzzy, gcc-internal-format #| msgid "`va_start' used in function with fixed args" msgid "% used in function with fixed args" *************** msgstr "" *** 16498,16547 **** "`va_start' выкарыÑтоўвываецца Ñž функцыі з нÑзьменнай\n" " колькаÑьцю аргументаў" ! #: builtins.c:9402 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to function %" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: builtins.c:9417 #, fuzzy, gcc-internal-format #| msgid "`__builtin_next_arg' called without an argument" msgid "%<__builtin_next_arg%> called without an argument" msgstr "\"__buitin_next_arg\" выклікаецца без аргумента" ! #: builtins.c:9422 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to function %<__builtin_next_arg%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: builtins.c:9454 #, gcc-internal-format msgid "second parameter of % not last named argument" msgstr "" ! #: builtins.c:9467 #, gcc-internal-format msgid "undefined behavior when second parameter of % is declared with % storage" msgstr "" ! #: builtins.c:9496 #, fuzzy, gcc-internal-format msgid "%Kfirst argument of %D must be a pointer, second integer constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: builtins.c:9509 #, gcc-internal-format msgid "%Klast argument of %D is not integer constant between 0 and 3" msgstr "" ! #: builtins.c:9783 #, gcc-internal-format msgid "%Kattempt to free a non-heap object %qD" msgstr "" ! #: builtins.c:9786 #, gcc-internal-format msgid "%Kattempt to free a non-heap object" msgstr "" --- 16514,16563 ---- "`va_start' выкарыÑтоўвываецца Ñž функцыі з нÑзьменнай\n" " колькаÑьцю аргументаў" ! #: builtins.c:9408 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to function %" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: builtins.c:9423 #, fuzzy, gcc-internal-format #| msgid "`__builtin_next_arg' called without an argument" msgid "%<__builtin_next_arg%> called without an argument" msgstr "\"__buitin_next_arg\" выклікаецца без аргумента" ! #: builtins.c:9428 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to function %<__builtin_next_arg%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: builtins.c:9460 #, gcc-internal-format msgid "second parameter of % not last named argument" msgstr "" ! #: builtins.c:9473 #, gcc-internal-format msgid "undefined behavior when second parameter of % is declared with % storage" msgstr "" ! #: builtins.c:9502 #, fuzzy, gcc-internal-format msgid "%Kfirst argument of %D must be a pointer, second integer constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: builtins.c:9515 #, gcc-internal-format msgid "%Klast argument of %D is not integer constant between 0 and 3" msgstr "" ! #: builtins.c:9789 #, gcc-internal-format msgid "%Kattempt to free a non-heap object %qD" msgstr "" ! #: builtins.c:9792 #, gcc-internal-format msgid "%Kattempt to free a non-heap object" msgstr "" *************** msgid "% attribute ignored bec *** 17473,17485 **** msgstr "" #. include_self= ! #: cgraphunit.c:968 c/c-decl.c:11128 #, fuzzy, gcc-internal-format #| msgid "label `%s' used but not defined" msgid "%q+F used but never defined" msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°" ! #: cgraphunit.c:970 c/c-decl.c:11137 #, gcc-internal-format msgid "%q+F declared % but never defined" msgstr "" --- 17489,17501 ---- msgstr "" #. include_self= ! #: cgraphunit.c:968 c/c-decl.c:11131 #, fuzzy, gcc-internal-format #| msgid "label `%s' used but not defined" msgid "%q+F used but never defined" msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°" ! #: cgraphunit.c:970 c/c-decl.c:11140 #, gcc-internal-format msgid "%q+F declared % but never defined" msgstr "" *************** msgstr "не магу знайÑці ÐºÑ *** 17579,17590 **** msgid "cannot find '%s'" msgstr "нельга знайÑці \"%s\"" ! #: collect-utils.c:183 collect2.c:2361 collect2.c:2560 gcc.c:3080 gcc.c:6787 #, gcc-internal-format msgid "pex_init failed: %m" msgstr "" ! #: collect-utils.c:192 collect2.c:2370 collect2.c:2568 gcc.c:8428 #, fuzzy, gcc-internal-format #| msgid "%s: %s: " msgid "%s: %m" --- 17595,17606 ---- msgid "cannot find '%s'" msgstr "нельга знайÑці \"%s\"" ! #: collect-utils.c:183 collect2.c:2361 collect2.c:2560 gcc.c:3080 gcc.c:6790 #, gcc-internal-format msgid "pex_init failed: %m" msgstr "" ! #: collect-utils.c:192 collect2.c:2370 collect2.c:2568 gcc.c:8431 #, fuzzy, gcc-internal-format #| msgid "%s: %s: " msgid "%s: %m" *************** msgstr "%s: %s: " *** 17595,17601 **** msgid "COLLECT_LTO_WRAPPER must be set" msgstr "" ! #: collect2.c:966 gcc.c:7313 lto-wrapper.c:1479 #: config/i386/intelmic-mkoffload.c:554 config/nvptx/mkoffload.c:403 #, gcc-internal-format msgid "atexit failed" --- 17611,17617 ---- msgid "COLLECT_LTO_WRAPPER must be set" msgstr "" ! #: collect2.c:966 gcc.c:7316 lto-wrapper.c:1479 #: config/i386/intelmic-mkoffload.c:554 config/nvptx/mkoffload.c:403 #, gcc-internal-format msgid "atexit failed" *************** msgstr "" *** 17814,17820 **** msgid "error writing %qs" msgstr "памылка запіÑу Ñž %s" ! #: coverage.c:1245 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "can't open %s" msgid "cannot open %s" --- 17830,17836 ---- msgid "error writing %qs" msgstr "памылка запіÑу Ñž %s" ! #: coverage.c:1257 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "can't open %s" msgid "cannot open %s" *************** msgstr "" *** 17897,17913 **** msgid "ignoring possibly conflicting option %<-fopt-info-%s%>" msgstr "" ! #: dwarf2out.c:1093 #, gcc-internal-format msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive" msgstr "" ! #: dwarf2out.c:13685 #, gcc-internal-format, gfc-internal-format msgid "non-delegitimized UNSPEC %s (%d) found in variable location" msgstr "" ! #: dwarf2out.c:27308 #, gcc-internal-format msgid "-feliminate-dwarf2-dups is broken for C++, ignoring" msgstr "" --- 17913,17929 ---- msgid "ignoring possibly conflicting option %<-fopt-info-%s%>" msgstr "" ! #: dwarf2out.c:1097 #, gcc-internal-format msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive" msgstr "" ! #: dwarf2out.c:13689 #, gcc-internal-format, gfc-internal-format msgid "non-delegitimized UNSPEC %s (%d) found in variable location" msgstr "" ! #: dwarf2out.c:27319 #, gcc-internal-format msgid "-feliminate-dwarf2-dups is broken for C++, ignoring" msgstr "" *************** msgstr "" *** 18018,18029 **** msgid "write of %wu-bit data outside the bound of destination object, data truncated into %wu-bit" msgstr "" ! #: expr.c:10804 #, gcc-internal-format msgid "%Kcall to %qs declared with attribute error: %s" msgstr "" ! #: expr.c:10811 #, gcc-internal-format msgid "%Kcall to %qs declared with attribute warning: %s" msgstr "" --- 18034,18045 ---- msgid "write of %wu-bit data outside the bound of destination object, data truncated into %wu-bit" msgstr "" ! #: expr.c:10802 #, gcc-internal-format msgid "%Kcall to %qs declared with attribute error: %s" msgstr "" ! #: expr.c:10809 #, gcc-internal-format msgid "%Kcall to %qs declared with attribute warning: %s" msgstr "" *************** msgstr "нÑвернае выкарыÑÑ *** 18039,18050 **** msgid "the frame size of %wd bytes is larger than %wd bytes" msgstr "памер \"%s\" больш чам %d байт" ! #: final.c:4635 toplev.c:1404 tree-cfgcleanup.c:1148 #, fuzzy, gcc-internal-format msgid "could not open final insn dump file %qs: %m" msgstr "не магу знайÑці крыніцу %s\n" ! #: final.c:4688 tree-cfgcleanup.c:1164 #, fuzzy, gcc-internal-format msgid "could not close final insn dump file %qs: %m" msgstr "не магу знайÑці крыніцу %s\n" --- 18055,18066 ---- msgid "the frame size of %wd bytes is larger than %wd bytes" msgstr "памер \"%s\" больш чам %d байт" ! #: final.c:4635 toplev.c:1404 tree-cfgcleanup.c:1211 #, fuzzy, gcc-internal-format msgid "could not open final insn dump file %qs: %m" msgstr "не магу знайÑці крыніцу %s\n" ! #: final.c:4688 tree-cfgcleanup.c:1227 #, fuzzy, gcc-internal-format msgid "could not close final insn dump file %qs: %m" msgstr "не магу знайÑці крыніцу %s\n" *************** msgstr "" *** 18059,18065 **** msgid "comparison is always %d due to width of bit-field" msgstr "" ! #: fold-const.c:5340 tree-ssa-reassoc.c:2343 tree-ssa-reassoc.c:2974 #, gcc-internal-format msgid "assuming signed overflow does not occur when simplifying range test" msgstr "" --- 18075,18081 ---- msgid "comparison is always %d due to width of bit-field" msgstr "" ! #: fold-const.c:5340 tree-ssa-reassoc.c:2343 tree-ssa-reassoc.c:2983 #, gcc-internal-format msgid "assuming signed overflow does not occur when simplifying range test" msgstr "" *************** msgstr "" *** 18089,18095 **** msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "" ! #: fold-const.c:12048 #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "" --- 18105,18111 ---- msgid "assuming signed overflow does not occur when combining constants around a comparison" msgstr "" ! #: fold-const.c:12049 #, gcc-internal-format msgid "fold check: original tree changed by fold" msgstr "" *************** msgstr "" *** 18100,18106 **** msgid "total size of local objects too large" msgstr "памер маÑіва \"%s\" вельмі вÑлікі" ! #: function.c:1765 gimplify.c:6111 #, fuzzy, gcc-internal-format #| msgid "impossible operator '%s'" msgid "impossible constraint in %" --- 18116,18122 ---- msgid "total size of local objects too large" msgstr "памер маÑіва \"%s\" вельмі вÑлікі" ! #: function.c:1765 gimplify.c:6112 #, fuzzy, gcc-internal-format #| msgid "impossible operator '%s'" msgid "impossible constraint in %" *************** msgstr "" *** 18202,18266 **** msgid "input file %qs is the same as output file" msgstr "" ! #: gcc.c:4498 #, gcc-internal-format msgid "-pipe ignored because -save-temps specified" msgstr "" ! #: gcc.c:4586 #, gcc-internal-format msgid "%<-x %s%> after last input file has no effect" msgstr "" ! #: gcc.c:4768 #, gcc-internal-format msgid "unable to locate default linker script %qs in the library search paths" msgstr "" ! #: gcc.c:4973 #, gcc-internal-format msgid "switch %qs does not start with %<-%>" msgstr "" ! #: gcc.c:4977 #, gcc-internal-format msgid "spec-generated switch is just %<-%>" msgstr "" ! #: gcc.c:5070 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Could not open data file %s.\n" msgid "could not open temporary response file %s" msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n" ! #: gcc.c:5077 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "cannot create temporary file" msgid "could not write to temporary response file %s" msgstr "немагчыма Ñтварыць чаÑовы файл" ! #: gcc.c:5083 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "cannot create temporary file" msgid "could not close temporary response file %s" msgstr "немагчыма Ñтварыць чаÑовы файл" ! #: gcc.c:5206 #, gcc-internal-format msgid "spec %qs invalid" msgstr "" ! #: gcc.c:5356 #, gcc-internal-format msgid "spec %qs has invalid %<%%0%c%>" msgstr "" ! #: gcc.c:5677 #, gcc-internal-format msgid "spec %qs has invalid %<%%W%c%>" msgstr "" ! #: gcc.c:5700 #, gcc-internal-format msgid "spec %qs has invalid %<%%x%c%>" msgstr "" --- 18218,18287 ---- msgid "input file %qs is the same as output file" msgstr "" ! #: gcc.c:4476 ! #, fuzzy, gcc-internal-format ! msgid "output filename may not be empty" ! msgstr "не зададзены ўваходзÑÑ‡Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹" ! ! #: gcc.c:4501 #, gcc-internal-format msgid "-pipe ignored because -save-temps specified" msgstr "" ! #: gcc.c:4589 #, gcc-internal-format msgid "%<-x %s%> after last input file has no effect" msgstr "" ! #: gcc.c:4771 #, gcc-internal-format msgid "unable to locate default linker script %qs in the library search paths" msgstr "" ! #: gcc.c:4976 #, gcc-internal-format msgid "switch %qs does not start with %<-%>" msgstr "" ! #: gcc.c:4980 #, gcc-internal-format msgid "spec-generated switch is just %<-%>" msgstr "" ! #: gcc.c:5073 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Could not open data file %s.\n" msgid "could not open temporary response file %s" msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n" ! #: gcc.c:5080 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "cannot create temporary file" msgid "could not write to temporary response file %s" msgstr "немагчыма Ñтварыць чаÑовы файл" ! #: gcc.c:5086 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "cannot create temporary file" msgid "could not close temporary response file %s" msgstr "немагчыма Ñтварыць чаÑовы файл" ! #: gcc.c:5209 #, gcc-internal-format msgid "spec %qs invalid" msgstr "" ! #: gcc.c:5359 #, gcc-internal-format msgid "spec %qs has invalid %<%%0%c%>" msgstr "" ! #: gcc.c:5680 #, gcc-internal-format msgid "spec %qs has invalid %<%%W%c%>" msgstr "" ! #: gcc.c:5703 #, gcc-internal-format msgid "spec %qs has invalid %<%%x%c%>" msgstr "" *************** msgstr "" *** 18268,18504 **** #. Catch the case where a spec string contains something like #. '%{foo:%*}'. i.e. there is no * in the pattern on the left #. hand side of the :. ! #: gcc.c:5911 #, gcc-internal-format msgid "spec failure: %<%%*%> has not been initialized by pattern match" msgstr "" ! #: gcc.c:5954 #, fuzzy, gcc-internal-format msgid "spec failure: unrecognized spec option %qc" msgstr "нераÑпазнаны выбар \"-%s\"" ! #: gcc.c:6016 #, fuzzy, gcc-internal-format msgid "unknown spec function %qs" msgstr "невÑдомы Ñ€Ñжым машыны \"%s\"" ! #: gcc.c:6046 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "error in args to spec function %qs" msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'" ! #: gcc.c:6100 #, gcc-internal-format msgid "malformed spec function name" msgstr "" #. ) ! #: gcc.c:6103 #, fuzzy, gcc-internal-format #| msgid "too few arguments to function" msgid "no arguments for spec function" msgstr "не хапае аргументаў у функцыі" ! #: gcc.c:6122 #, gcc-internal-format msgid "malformed spec function arguments" msgstr "" ! #: gcc.c:6396 #, gcc-internal-format msgid "braced spec %qs is invalid at %qc" msgstr "" ! #: gcc.c:6491 #, gcc-internal-format msgid "braced spec body %qs is invalid" msgstr "" ! #: gcc.c:7097 #, gcc-internal-format, gfc-internal-format msgid "%s: could not determine length of compare-debug file %s" msgstr "" ! #: gcc.c:7108 #, gcc-internal-format, gfc-internal-format msgid "%s: -fcompare-debug failure (length)" msgstr "" ! #: gcc.c:7118 gcc.c:7159 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Could not open data file %s.\n" msgid "%s: could not open compare-debug file %s" msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n" ! #: gcc.c:7138 gcc.c:7175 #, gcc-internal-format, gfc-internal-format msgid "%s: -fcompare-debug failure" msgstr "" ! #: gcc.c:7483 #, gcc-internal-format msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC" msgstr "" ! #: gcc.c:7507 #, gcc-internal-format msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC" msgstr "" ! #: gcc.c:7812 #, gcc-internal-format msgid "unrecognized command line option %<-%s%>; did you mean %<-%s%>?" msgstr "" ! #: gcc.c:7816 #, fuzzy, gcc-internal-format msgid "unrecognized command line option %<-%s%>" msgstr "ÐераÑпазнаны выбар \"%s\"" ! #: gcc.c:7942 #, gcc-internal-format msgid "not configured with sysroot headers suffix" msgstr "" ! #: gcc.c:8003 #, fuzzy, gcc-internal-format msgid "no input files" msgstr "нÑма ўваходзÑчых файлаў" ! #: gcc.c:8054 #, gcc-internal-format msgid "cannot specify -o with -c, -S or -E with multiple files" msgstr "" ! #: gcc.c:8095 #, gcc-internal-format, gfc-internal-format msgid "%s: %s compiler not installed on this system" msgstr "%s: %s кампілÑтар не ÑžÑталÑваны на гÑтай ÑÑ–ÑÑ‚Ñме" ! #: gcc.c:8119 #, gcc-internal-format msgid "recompiling with -fcompare-debug" msgstr "" ! #: gcc.c:8135 #, gcc-internal-format msgid "during -fcompare-debug recompilation" msgstr "" ! #: gcc.c:8144 #, gcc-internal-format msgid "comparing final insns dumps" msgstr "" ! #: gcc.c:8261 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "-fuse-linker-plugin, but %s not found" msgstr "БібліÑÑ‚Ñка lib%s не знойдзена" ! #: gcc.c:8294 #, gcc-internal-format, gfc-internal-format msgid "%s: linker input file unused because linking not done" msgstr "" ! #: gcc.c:8350 c-family/c-opts.c:749 #, gcc-internal-format msgid "cannot use %<-%> as input filename for a precompiled header" msgstr "" ! #: gcc.c:8356 #, gcc-internal-format, gfc-internal-format msgid "language %s not recognized" msgstr "мова %s не раÑпазнана" ! #: gcc.c:8596 #, fuzzy, gcc-internal-format msgid "multilib spec %qs is invalid" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: gcc.c:8798 #, gcc-internal-format msgid "multilib exclusions %qs is invalid" msgstr "" ! #: gcc.c:8862 #, gcc-internal-format msgid "multilib select %qs %qs is invalid" msgstr "" ! #: gcc.c:9024 #, fuzzy, gcc-internal-format msgid "multilib select %qs is invalid" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: gcc.c:9064 #, gcc-internal-format msgid "multilib exclusion %qs is invalid" msgstr "" ! #: gcc.c:9279 #, gcc-internal-format msgid "environment variable %qs not defined" msgstr "" ! #: gcc.c:9418 gcc.c:9423 #, fuzzy, gcc-internal-format msgid "invalid version number %qs" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: gcc.c:9466 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too few arguments to function" msgid "too few arguments to %%:version-compare" msgstr "не хапае аргументаў у функцыі" ! #: gcc.c:9472 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:version-compare" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9514 #, gcc-internal-format msgid "unknown operator %qs in %%:version-compare" msgstr "" ! #: gcc.c:9638 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:compare-debug-dump-opt" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9711 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:compare-debug-self-opt" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9747 #, gcc-internal-format, gfc-internal-format msgid "too few arguments to %%:compare-debug-auxbase-opt" msgstr "" ! #: gcc.c:9751 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:compare-debug-auxbase-opt" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9758 #, gcc-internal-format, gfc-internal-format msgid "argument to %%:compare-debug-auxbase-opt does not end in .gk" msgstr "" ! #: gcc.c:9832 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too few arguments to function" msgid "too few arguments to %%:replace-extension" msgstr "не хапае аргументаў у функцыі" ! #: gcc.c:9885 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %%:debug-level-gt" --- 18289,18525 ---- #. Catch the case where a spec string contains something like #. '%{foo:%*}'. i.e. there is no * in the pattern on the left #. hand side of the :. ! #: gcc.c:5914 #, gcc-internal-format msgid "spec failure: %<%%*%> has not been initialized by pattern match" msgstr "" ! #: gcc.c:5957 #, fuzzy, gcc-internal-format msgid "spec failure: unrecognized spec option %qc" msgstr "нераÑпазнаны выбар \"-%s\"" ! #: gcc.c:6019 #, fuzzy, gcc-internal-format msgid "unknown spec function %qs" msgstr "невÑдомы Ñ€Ñжым машыны \"%s\"" ! #: gcc.c:6049 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function `%s'" msgid "error in args to spec function %qs" msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'" ! #: gcc.c:6103 #, gcc-internal-format msgid "malformed spec function name" msgstr "" #. ) ! #: gcc.c:6106 #, fuzzy, gcc-internal-format #| msgid "too few arguments to function" msgid "no arguments for spec function" msgstr "не хапае аргументаў у функцыі" ! #: gcc.c:6125 #, gcc-internal-format msgid "malformed spec function arguments" msgstr "" ! #: gcc.c:6399 #, gcc-internal-format msgid "braced spec %qs is invalid at %qc" msgstr "" ! #: gcc.c:6494 #, gcc-internal-format msgid "braced spec body %qs is invalid" msgstr "" ! #: gcc.c:7100 #, gcc-internal-format, gfc-internal-format msgid "%s: could not determine length of compare-debug file %s" msgstr "" ! #: gcc.c:7111 #, gcc-internal-format, gfc-internal-format msgid "%s: -fcompare-debug failure (length)" msgstr "" ! #: gcc.c:7121 gcc.c:7162 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "Could not open data file %s.\n" msgid "%s: could not open compare-debug file %s" msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n" ! #: gcc.c:7141 gcc.c:7178 #, gcc-internal-format, gfc-internal-format msgid "%s: -fcompare-debug failure" msgstr "" ! #: gcc.c:7486 #, gcc-internal-format msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC" msgstr "" ! #: gcc.c:7510 #, gcc-internal-format msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC" msgstr "" ! #: gcc.c:7815 #, gcc-internal-format msgid "unrecognized command line option %<-%s%>; did you mean %<-%s%>?" msgstr "" ! #: gcc.c:7819 #, fuzzy, gcc-internal-format msgid "unrecognized command line option %<-%s%>" msgstr "ÐераÑпазнаны выбар \"%s\"" ! #: gcc.c:7945 #, gcc-internal-format msgid "not configured with sysroot headers suffix" msgstr "" ! #: gcc.c:8006 #, fuzzy, gcc-internal-format msgid "no input files" msgstr "нÑма ўваходзÑчых файлаў" ! #: gcc.c:8057 #, gcc-internal-format msgid "cannot specify -o with -c, -S or -E with multiple files" msgstr "" ! #: gcc.c:8098 #, gcc-internal-format, gfc-internal-format msgid "%s: %s compiler not installed on this system" msgstr "%s: %s кампілÑтар не ÑžÑталÑваны на гÑтай ÑÑ–ÑÑ‚Ñме" ! #: gcc.c:8122 #, gcc-internal-format msgid "recompiling with -fcompare-debug" msgstr "" ! #: gcc.c:8138 #, gcc-internal-format msgid "during -fcompare-debug recompilation" msgstr "" ! #: gcc.c:8147 #, gcc-internal-format msgid "comparing final insns dumps" msgstr "" ! #: gcc.c:8264 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "-fuse-linker-plugin, but %s not found" msgstr "БібліÑÑ‚Ñка lib%s не знойдзена" ! #: gcc.c:8297 #, gcc-internal-format, gfc-internal-format msgid "%s: linker input file unused because linking not done" msgstr "" ! #: gcc.c:8353 c-family/c-opts.c:749 #, gcc-internal-format msgid "cannot use %<-%> as input filename for a precompiled header" msgstr "" ! #: gcc.c:8359 #, gcc-internal-format, gfc-internal-format msgid "language %s not recognized" msgstr "мова %s не раÑпазнана" ! #: gcc.c:8599 #, fuzzy, gcc-internal-format msgid "multilib spec %qs is invalid" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: gcc.c:8801 #, gcc-internal-format msgid "multilib exclusions %qs is invalid" msgstr "" ! #: gcc.c:8865 #, gcc-internal-format msgid "multilib select %qs %qs is invalid" msgstr "" ! #: gcc.c:9027 #, fuzzy, gcc-internal-format msgid "multilib select %qs is invalid" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: gcc.c:9067 #, gcc-internal-format msgid "multilib exclusion %qs is invalid" msgstr "" ! #: gcc.c:9282 #, gcc-internal-format msgid "environment variable %qs not defined" msgstr "" ! #: gcc.c:9421 gcc.c:9426 #, fuzzy, gcc-internal-format msgid "invalid version number %qs" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: gcc.c:9469 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too few arguments to function" msgid "too few arguments to %%:version-compare" msgstr "не хапае аргументаў у функцыі" ! #: gcc.c:9475 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:version-compare" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9517 #, gcc-internal-format msgid "unknown operator %qs in %%:version-compare" msgstr "" ! #: gcc.c:9641 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:compare-debug-dump-opt" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9714 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:compare-debug-self-opt" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9750 #, gcc-internal-format, gfc-internal-format msgid "too few arguments to %%:compare-debug-auxbase-opt" msgstr "" ! #: gcc.c:9754 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too many arguments to function" msgid "too many arguments to %%:compare-debug-auxbase-opt" msgstr "вельмі шмат аргументаў у функцыі" ! #: gcc.c:9761 #, gcc-internal-format, gfc-internal-format msgid "argument to %%:compare-debug-auxbase-opt does not end in .gk" msgstr "" ! #: gcc.c:9835 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "too few arguments to function" msgid "too few arguments to %%:replace-extension" msgstr "не хапае аргументаў у функцыі" ! #: gcc.c:9888 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %%:debug-level-gt" *************** msgstr "" *** 18650,18658 **** #: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 #: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 ! #: cp/call.c:6454 cp/call.c:7933 cp/constexpr.c:777 cp/constexpr.c:2174 ! #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5072 cp/pt.c:7993 ! #: cp/semantics.c:1764 cp/typeck.c:1648 cp/typeck.c:1843 cp/typeck.c:3718 #, fuzzy, gcc-internal-format #| msgid "called from here" msgid "declared here" --- 18671,18679 ---- #: gimple-ssa-isolate-paths.c:413 gimple-ssa-isolate-paths.c:531 tree.c:12880 #: tree.c:12917 c/c-typeck.c:2906 c/c-typeck.c:2990 c/c-typeck.c:9913 #: c/c-typeck.c:9930 c/gimple-parser.c:1556 c/gimple-parser.c:1564 ! #: cp/call.c:6454 cp/call.c:7936 cp/constexpr.c:778 cp/constexpr.c:2190 ! #: cp/cvt.c:992 cp/cvt.c:1019 cp/decl.c:7224 cp/decl2.c:5073 cp/pt.c:8075 ! #: cp/semantics.c:1767 cp/typeck.c:1648 cp/typeck.c:1843 cp/typeck.c:3718 #, fuzzy, gcc-internal-format #| msgid "called from here" msgid "declared here" *************** msgstr "" *** 19069,19295 **** msgid "attribute % not preceding a case label or default label" msgstr "" ! #: gimplify.c:3289 #, gcc-internal-format msgid "using result of function returning %" msgstr "" ! #: gimplify.c:5969 #, gcc-internal-format, gfc-internal-format msgid "invalid lvalue in asm output %d" msgstr "" ! #: gimplify.c:6112 #, gcc-internal-format, gfc-internal-format msgid "non-memory input %d must stay in memory" msgstr "" ! #: gimplify.c:6152 gimplify.c:6161 #, gcc-internal-format, gfc-internal-format msgid "memory input %d is not directly addressable" msgstr "" ! #: gimplify.c:6764 #, gcc-internal-format msgid "threadprivate variable %qE used in target region" msgstr "" ! #: gimplify.c:6766 #, gcc-internal-format msgid "enclosing target region" msgstr "" ! #: gimplify.c:6778 #, gcc-internal-format msgid "threadprivate variable %qE used in untied task" msgstr "" ! #: gimplify.c:6780 #, gcc-internal-format msgid "enclosing task" msgstr "" ! #: gimplify.c:6852 #, gcc-internal-format msgid "%qE not specified in enclosing %qs" msgstr "" ! #: gimplify.c:6854 #, gcc-internal-format msgid "enclosing %qs" msgstr "" ! #: gimplify.c:6965 #, gcc-internal-format msgid "%qE not specified in enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.c:6967 #, gcc-internal-format msgid "enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.c:7018 #, gcc-internal-format msgid "%qE with % clause used in % function" msgstr "" ! #: gimplify.c:7026 #, gcc-internal-format msgid "%qE requires a % directive for use in a % function" msgstr "" ! #: gimplify.c:7092 gimplify.c:7692 #, gcc-internal-format msgid "variable %qE declared in enclosing % region" msgstr "" ! #: gimplify.c:7113 #, gcc-internal-format msgid "%qD referenced in target region does not have a mappable type" msgstr "" ! #: gimplify.c:7231 gimplify.c:7263 #, gcc-internal-format msgid "iteration variable %qE is predetermined linear" msgstr "" ! #: gimplify.c:7234 #, gcc-internal-format msgid "iteration variable %qE should be private" msgstr "" ! #: gimplify.c:7248 #, gcc-internal-format msgid "iteration variable %qE should not be firstprivate" msgstr "" ! #: gimplify.c:7251 #, gcc-internal-format msgid "iteration variable %qE should not be reduction" msgstr "" ! #: gimplify.c:7254 #, gcc-internal-format msgid "iteration variable %qE should not be linear" msgstr "" ! #: gimplify.c:7257 #, gcc-internal-format msgid "iteration variable %qE should not be lastprivate" msgstr "" ! #: gimplify.c:7260 #, gcc-internal-format msgid "iteration variable %qE should not be private" msgstr "" ! #: gimplify.c:7562 #, gcc-internal-format msgid "% clause for variable other than loop iterator specified on construct combined with %" msgstr "" ! #: gimplify.c:7769 #, gcc-internal-format msgid "mapping field %qE of variable length structure" msgstr "" ! #: gimplify.c:7980 #, gcc-internal-format msgid "%qE appears more than once in map clauses" msgstr "" ! #: gimplify.c:8284 #, gcc-internal-format msgid "copyprivate variable %qE is not threadprivate or private in outer context" msgstr "" ! #: gimplify.c:8304 #, gcc-internal-format msgid "%s variable %qE is private in outer context" msgstr "" ! #: gimplify.c:8330 #, gcc-internal-format msgid "expected %qs % clause modifier rather than %qs" msgstr "" ! #: gimplify.c:8596 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause" msgstr "" ! #: gimplify.c:8629 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause on % construct" msgstr "" ! #: gimplify.c:8802 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause on % construct" msgstr "" ! #: gimplify.c:8853 #, gcc-internal-format msgid "same variable used in % and % clauses on % construct" msgstr "" ! #: gimplify.c:8935 #, gcc-internal-format msgid "incompatible data clause with reduction on %qE; promoting to present_or_copy" msgstr "" ! #: gimplify.c:9080 #, fuzzy, gcc-internal-format msgid "invalid private reduction on %qE" msgstr "ÐерÑчаіÑнае абвÑшчÑнне" ! #: gimplify.c:10904 omp-low.c:2814 #, gcc-internal-format msgid "% construct with % clause must be closely nested inside a loop with % clause with a parameter" msgstr "" ! #: gimplify.c:10922 #, gcc-internal-format msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" msgstr "" ! #: gimplify.c:10935 #, gcc-internal-format msgid "number of variables in % clause does not match number of iteration variables" msgstr "" ! #: gimplify.c:10948 #, gcc-internal-format msgid "more than one % clause on an % construct" msgstr "" ! #: gimplify.c:10959 #, gcc-internal-format msgid "% clause specified together with % clauses on the same construct" msgstr "" ! #: gimplify.c:11902 #, gcc-internal-format msgid "expected %<_Cilk_spawn%> before %<_Cilk_sync%>" msgstr "" ! #: gimplify.c:12201 #, gcc-internal-format msgid "gimplification failed" msgstr "" ! #: gimplify.c:12729 #, gcc-internal-format msgid "%qT is promoted to %qT when passed through %<...%>" msgstr "" ! #: gimplify.c:12734 #, gcc-internal-format msgid "(so you should pass %qT not %qT to %)" msgstr "" ! #: gimplify.c:12741 #, gcc-internal-format msgid "if this code is reached, the program will abort" msgstr "" --- 19090,19316 ---- msgid "attribute % not preceding a case label or default label" msgstr "" ! #: gimplify.c:3290 #, gcc-internal-format msgid "using result of function returning %" msgstr "" ! #: gimplify.c:5970 #, gcc-internal-format, gfc-internal-format msgid "invalid lvalue in asm output %d" msgstr "" ! #: gimplify.c:6113 #, gcc-internal-format, gfc-internal-format msgid "non-memory input %d must stay in memory" msgstr "" ! #: gimplify.c:6153 gimplify.c:6162 #, gcc-internal-format, gfc-internal-format msgid "memory input %d is not directly addressable" msgstr "" ! #: gimplify.c:6767 #, gcc-internal-format msgid "threadprivate variable %qE used in target region" msgstr "" ! #: gimplify.c:6769 #, gcc-internal-format msgid "enclosing target region" msgstr "" ! #: gimplify.c:6781 #, gcc-internal-format msgid "threadprivate variable %qE used in untied task" msgstr "" ! #: gimplify.c:6783 #, gcc-internal-format msgid "enclosing task" msgstr "" ! #: gimplify.c:6855 #, gcc-internal-format msgid "%qE not specified in enclosing %qs" msgstr "" ! #: gimplify.c:6857 #, gcc-internal-format msgid "enclosing %qs" msgstr "" ! #: gimplify.c:6968 #, gcc-internal-format msgid "%qE not specified in enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.c:6970 #, gcc-internal-format msgid "enclosing OpenACC %qs construct" msgstr "" ! #: gimplify.c:7021 #, gcc-internal-format msgid "%qE with % clause used in % function" msgstr "" ! #: gimplify.c:7029 #, gcc-internal-format msgid "%qE requires a % directive for use in a % function" msgstr "" ! #: gimplify.c:7095 gimplify.c:7695 #, gcc-internal-format msgid "variable %qE declared in enclosing % region" msgstr "" ! #: gimplify.c:7116 #, gcc-internal-format msgid "%qD referenced in target region does not have a mappable type" msgstr "" ! #: gimplify.c:7234 gimplify.c:7266 #, gcc-internal-format msgid "iteration variable %qE is predetermined linear" msgstr "" ! #: gimplify.c:7237 #, gcc-internal-format msgid "iteration variable %qE should be private" msgstr "" ! #: gimplify.c:7251 #, gcc-internal-format msgid "iteration variable %qE should not be firstprivate" msgstr "" ! #: gimplify.c:7254 #, gcc-internal-format msgid "iteration variable %qE should not be reduction" msgstr "" ! #: gimplify.c:7257 #, gcc-internal-format msgid "iteration variable %qE should not be linear" msgstr "" ! #: gimplify.c:7260 #, gcc-internal-format msgid "iteration variable %qE should not be lastprivate" msgstr "" ! #: gimplify.c:7263 #, gcc-internal-format msgid "iteration variable %qE should not be private" msgstr "" ! #: gimplify.c:7565 #, gcc-internal-format msgid "% clause for variable other than loop iterator specified on construct combined with %" msgstr "" ! #: gimplify.c:7772 #, gcc-internal-format msgid "mapping field %qE of variable length structure" msgstr "" ! #: gimplify.c:7983 #, gcc-internal-format msgid "%qE appears more than once in map clauses" msgstr "" ! #: gimplify.c:8287 #, gcc-internal-format msgid "copyprivate variable %qE is not threadprivate or private in outer context" msgstr "" ! #: gimplify.c:8307 #, gcc-internal-format msgid "%s variable %qE is private in outer context" msgstr "" ! #: gimplify.c:8333 #, gcc-internal-format msgid "expected %qs % clause modifier rather than %qs" msgstr "" ! #: gimplify.c:8599 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause" msgstr "" ! #: gimplify.c:8632 #, gcc-internal-format msgid "%<_Atomic%> %qD in implicit % clause on % construct" msgstr "" ! #: gimplify.c:8805 #, gcc-internal-format msgid "%<_Atomic%> %qD in % clause on % construct" msgstr "" ! #: gimplify.c:8856 #, gcc-internal-format msgid "same variable used in % and % clauses on % construct" msgstr "" ! #: gimplify.c:8938 #, gcc-internal-format msgid "incompatible data clause with reduction on %qE; promoting to present_or_copy" msgstr "" ! #: gimplify.c:9083 #, fuzzy, gcc-internal-format msgid "invalid private reduction on %qE" msgstr "ÐерÑчаіÑнае абвÑшчÑнне" ! #: gimplify.c:10907 omp-low.c:2842 #, gcc-internal-format msgid "% construct with % clause must be closely nested inside a loop with % clause with a parameter" msgstr "" ! #: gimplify.c:10925 #, gcc-internal-format msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" msgstr "" ! #: gimplify.c:10938 #, gcc-internal-format msgid "number of variables in % clause does not match number of iteration variables" msgstr "" ! #: gimplify.c:10951 #, gcc-internal-format msgid "more than one % clause on an % construct" msgstr "" ! #: gimplify.c:10962 #, gcc-internal-format msgid "% clause specified together with % clauses on the same construct" msgstr "" ! #: gimplify.c:11905 #, gcc-internal-format msgid "expected %<_Cilk_spawn%> before %<_Cilk_sync%>" msgstr "" ! #: gimplify.c:12204 #, gcc-internal-format msgid "gimplification failed" msgstr "" ! #: gimplify.c:12732 #, gcc-internal-format msgid "%qT is promoted to %qT when passed through %<...%>" msgstr "" ! #: gimplify.c:12737 #, gcc-internal-format msgid "(so you should pass %qT not %qT to %)" msgstr "" ! #: gimplify.c:12744 #, gcc-internal-format msgid "if this code is reached, the program will abort" msgstr "" *************** msgstr "" *** 19526,19532 **** #: ipa-devirt.c:1229 #, gcc-internal-format ! msgid "type %qT itself violate the C++ One Definition Rule" msgstr "" #: ipa-devirt.c:1235 --- 19547,19553 ---- #: ipa-devirt.c:1229 #, gcc-internal-format ! msgid "type %qT itself violates the C++ One Definition Rule" msgstr "" #: ipa-devirt.c:1235 *************** msgstr "" *** 19626,19632 **** #: ipa-devirt.c:1576 #, gcc-internal-format ! msgid "fields has different layout in another translation unit" msgstr "" #: ipa-devirt.c:1599 --- 19647,19653 ---- #: ipa-devirt.c:1576 #, gcc-internal-format ! msgid "fields have different layout in another translation unit" msgstr "" #: ipa-devirt.c:1599 *************** msgstr "" *** 20012,20211 **** msgid "multiple loop axes specified for routine" msgstr "" ! #: omp-low.c:2120 omp-offload.c:1124 #, gcc-internal-format msgid "% overrides other OpenACC loop specifiers" msgstr "" ! #: omp-low.c:2123 omp-offload.c:1125 #, gcc-internal-format msgid "% conflicts with other OpenACC loop specifiers" msgstr "" ! #: omp-low.c:2127 omp-offload.c:1159 #, gcc-internal-format msgid "inner loop uses same OpenACC parallelism as containing loop" msgstr "" ! #: omp-low.c:2174 #, gcc-internal-format msgid "argument not permitted on %qs clause in OpenACC %" msgstr "" ! #: omp-low.c:2443 #, gcc-internal-format msgid "non-OpenACC construct inside of OpenACC routine" msgstr "" ! #: omp-low.c:2452 #, gcc-internal-format msgid "non-OpenACC construct inside of OpenACC region" msgstr "" ! #: omp-low.c:2477 #, gcc-internal-format msgid "% must be closely nested inside of % region" msgstr "" ! #: omp-low.c:2485 #, gcc-internal-format msgid "OpenMP constructs other than %<#pragma omp ordered simd%> may not be nested inside % region" msgstr "" ! #: omp-low.c:2497 #, gcc-internal-format msgid "only % or % regions are allowed to be strictly nested inside % region" msgstr "" ! #: omp-low.c:2514 #, gcc-internal-format msgid "% region must be strictly nested inside % construct" msgstr "" ! #: omp-low.c:2555 #, gcc-internal-format msgid "OpenACC loop directive must be associated with an OpenACC compute region" msgstr "" ! #: omp-low.c:2577 #, fuzzy, gcc-internal-format #| msgid "In construct" msgid "orphaned %qs construct" msgstr "У канÑтрукцыі" ! #: omp-low.c:2606 #, gcc-internal-format msgid "%<#pragma omp cancel for%> inside % for construct" msgstr "" ! #: omp-low.c:2611 #, gcc-internal-format msgid "%<#pragma omp cancel for%> inside % for construct" msgstr "" ! #: omp-low.c:2631 omp-low.c:2644 #, gcc-internal-format msgid "%<#pragma omp cancel sections%> inside % sections construct" msgstr "" ! #: omp-low.c:2670 #, gcc-internal-format msgid "%<%s taskgroup%> construct not closely nested inside of % region" msgstr "" ! #: omp-low.c:2684 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "invalid arguments" msgstr "нÑма аргументаў" ! #: omp-low.c:2690 #, gcc-internal-format msgid "%<%s %s%> construct not closely nested inside of %qs" msgstr "" ! #: omp-low.c:2718 #, gcc-internal-format msgid "barrier region may not be closely nested inside of work-sharing, %, %, %, explicit % or % region" msgstr "" ! #: omp-low.c:2725 #, gcc-internal-format msgid "work-sharing region may not be closely nested inside of work-sharing, %, %, %, explicit % or % region" msgstr "" ! #: omp-low.c:2754 #, gcc-internal-format msgid "% region may not be closely nested inside of work-sharing, explicit % or % region" msgstr "" ! #: omp-low.c:2778 omp-low.c:2917 #, gcc-internal-format msgid "% is only allowed in %" msgstr "" ! #: omp-low.c:2806 #, gcc-internal-format msgid "% construct with % clause must be closely nested inside an % loop" msgstr "" ! #: omp-low.c:2823 #, gcc-internal-format msgid "invalid depend kind in omp % %" msgstr "" ! #: omp-low.c:2838 #, gcc-internal-format msgid "% % must be closely nested inside % region" msgstr "" ! #: omp-low.c:2851 #, gcc-internal-format msgid "% region may not be closely nested inside of %, %, explicit % or % region" msgstr "" ! #: omp-low.c:2862 omp-low.c:2875 #, gcc-internal-format msgid "% region must be closely nested inside a loop region with an % clause" msgstr "" ! #: omp-low.c:2892 #, gcc-internal-format msgid "% region may not be nested inside a % region with the same name" msgstr "" ! #: omp-low.c:2904 #, gcc-internal-format msgid "% construct not closely nested inside of % construct" msgstr "" ! #: omp-low.c:2925 #, gcc-internal-format msgid "OpenACC region inside of OpenACC routine, nested parallelism not supported yet" msgstr "" ! #: omp-low.c:2938 #, gcc-internal-format msgid "OpenACC construct inside of non-OpenACC region" msgstr "" ! #: omp-low.c:2983 #, gcc-internal-format msgid "%s %qs construct inside of %s %qs region" msgstr "" ! #: omp-low.c:2996 omp-low.c:3003 #, gcc-internal-format msgid "%qs construct inside of %qs region" msgstr "" ! #: omp-low.c:3115 #, gcc-internal-format msgid "setjmp/longjmp inside simd construct" msgstr "" ! #: omp-low.c:6341 #, gcc-internal-format msgid "ignoring sink clause with offset that is not a multiple of the loop step" msgstr "" ! #: omp-low.c:6364 #, gcc-internal-format msgid "first offset must be in opposite direction of loop iterations" msgstr "" ! #: omp-low.c:9087 #, gcc-internal-format, gfc-internal-format msgid "invalid exit from %s structured block" msgstr "" ! #: omp-low.c:9089 omp-low.c:9094 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "invalid entry to %s structured block" msgstr "нÑвернае выкарыÑтанне \"restict\"" #. Otherwise, be vague and lazy, but efficient. ! #: omp-low.c:9098 #, gcc-internal-format, gfc-internal-format msgid "invalid branch to/from %s structured block" msgstr "" --- 20033,20232 ---- msgid "multiple loop axes specified for routine" msgstr "" ! #: omp-low.c:2148 omp-offload.c:1124 #, gcc-internal-format msgid "% overrides other OpenACC loop specifiers" msgstr "" ! #: omp-low.c:2151 omp-offload.c:1125 #, gcc-internal-format msgid "% conflicts with other OpenACC loop specifiers" msgstr "" ! #: omp-low.c:2155 omp-offload.c:1159 #, gcc-internal-format msgid "inner loop uses same OpenACC parallelism as containing loop" msgstr "" ! #: omp-low.c:2202 #, gcc-internal-format msgid "argument not permitted on %qs clause in OpenACC %" msgstr "" ! #: omp-low.c:2471 #, gcc-internal-format msgid "non-OpenACC construct inside of OpenACC routine" msgstr "" ! #: omp-low.c:2480 #, gcc-internal-format msgid "non-OpenACC construct inside of OpenACC region" msgstr "" ! #: omp-low.c:2505 #, gcc-internal-format msgid "% must be closely nested inside of % region" msgstr "" ! #: omp-low.c:2513 #, gcc-internal-format msgid "OpenMP constructs other than %<#pragma omp ordered simd%> may not be nested inside % region" msgstr "" ! #: omp-low.c:2525 #, gcc-internal-format msgid "only % or % regions are allowed to be strictly nested inside % region" msgstr "" ! #: omp-low.c:2542 #, gcc-internal-format msgid "% region must be strictly nested inside % construct" msgstr "" ! #: omp-low.c:2583 #, gcc-internal-format msgid "OpenACC loop directive must be associated with an OpenACC compute region" msgstr "" ! #: omp-low.c:2605 #, fuzzy, gcc-internal-format #| msgid "In construct" msgid "orphaned %qs construct" msgstr "У канÑтрукцыі" ! #: omp-low.c:2634 #, gcc-internal-format msgid "%<#pragma omp cancel for%> inside % for construct" msgstr "" ! #: omp-low.c:2639 #, gcc-internal-format msgid "%<#pragma omp cancel for%> inside % for construct" msgstr "" ! #: omp-low.c:2659 omp-low.c:2672 #, gcc-internal-format msgid "%<#pragma omp cancel sections%> inside % sections construct" msgstr "" ! #: omp-low.c:2698 #, gcc-internal-format msgid "%<%s taskgroup%> construct not closely nested inside of % region" msgstr "" ! #: omp-low.c:2712 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "invalid arguments" msgstr "нÑма аргументаў" ! #: omp-low.c:2718 #, gcc-internal-format msgid "%<%s %s%> construct not closely nested inside of %qs" msgstr "" ! #: omp-low.c:2746 #, gcc-internal-format msgid "barrier region may not be closely nested inside of work-sharing, %, %, %, explicit % or % region" msgstr "" ! #: omp-low.c:2753 #, gcc-internal-format msgid "work-sharing region may not be closely nested inside of work-sharing, %, %, %, explicit % or % region" msgstr "" ! #: omp-low.c:2782 #, gcc-internal-format msgid "% region may not be closely nested inside of work-sharing, explicit % or % region" msgstr "" ! #: omp-low.c:2806 omp-low.c:2945 #, gcc-internal-format msgid "% is only allowed in %" msgstr "" ! #: omp-low.c:2834 #, gcc-internal-format msgid "% construct with % clause must be closely nested inside an % loop" msgstr "" ! #: omp-low.c:2851 #, gcc-internal-format msgid "invalid depend kind in omp % %" msgstr "" ! #: omp-low.c:2866 #, gcc-internal-format msgid "% % must be closely nested inside % region" msgstr "" ! #: omp-low.c:2879 #, gcc-internal-format msgid "% region may not be closely nested inside of %, %, explicit % or % region" msgstr "" ! #: omp-low.c:2890 omp-low.c:2903 #, gcc-internal-format msgid "% region must be closely nested inside a loop region with an % clause" msgstr "" ! #: omp-low.c:2920 #, gcc-internal-format msgid "% region may not be nested inside a % region with the same name" msgstr "" ! #: omp-low.c:2932 #, gcc-internal-format msgid "% construct not closely nested inside of % construct" msgstr "" ! #: omp-low.c:2953 #, gcc-internal-format msgid "OpenACC region inside of OpenACC routine, nested parallelism not supported yet" msgstr "" ! #: omp-low.c:2966 #, gcc-internal-format msgid "OpenACC construct inside of non-OpenACC region" msgstr "" ! #: omp-low.c:3011 #, gcc-internal-format msgid "%s %qs construct inside of %s %qs region" msgstr "" ! #: omp-low.c:3024 omp-low.c:3031 #, gcc-internal-format msgid "%qs construct inside of %qs region" msgstr "" ! #: omp-low.c:3143 #, gcc-internal-format msgid "setjmp/longjmp inside simd construct" msgstr "" ! #: omp-low.c:6379 #, gcc-internal-format msgid "ignoring sink clause with offset that is not a multiple of the loop step" msgstr "" ! #: omp-low.c:6402 #, gcc-internal-format msgid "first offset must be in opposite direction of loop iterations" msgstr "" ! #: omp-low.c:9125 #, gcc-internal-format, gfc-internal-format msgid "invalid exit from %s structured block" msgstr "" ! #: omp-low.c:9127 omp-low.c:9132 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "invalid entry to %s structured block" msgstr "нÑвернае выкарыÑтанне \"restict\"" #. Otherwise, be vague and lazy, but efficient. ! #: omp-low.c:9136 #, gcc-internal-format, gfc-internal-format msgid "invalid branch to/from %s structured block" msgstr "" *************** msgstr "атрыбуты Ñекцыі н *** 20291,20297 **** msgid "command line option %qs is not supported by this configuration" msgstr "" ! #: opts-common.c:1129 opts.c:1773 #, fuzzy, gcc-internal-format msgid "missing argument to %qs" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" --- 20312,20318 ---- msgid "command line option %qs is not supported by this configuration" msgstr "" ! #: opts-common.c:1129 opts.c:1780 #, fuzzy, gcc-internal-format msgid "missing argument to %qs" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" *************** msgstr "-pipe не падтрымлівР*** 20451,20583 **** msgid "-fsanitize-address-use-after-scope requires -fstack-reuse=none option" msgstr "" ! #: opts.c:1410 #, gcc-internal-format msgid "unrecognized include_flags 0x%x passed to print_specific_help" msgstr "" ! #: opts.c:1610 #, gcc-internal-format msgid "-fsanitize=all option is not valid" msgstr "" ! #: opts.c:1642 #, gcc-internal-format msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?" msgstr "" ! #: opts.c:1649 #, gcc-internal-format msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s" msgstr "" ! #: opts.c:1828 #, gcc-internal-format msgid "--help argument %q.*s is ambiguous, please be more specific" msgstr "" ! #: opts.c:1837 #, fuzzy, gcc-internal-format msgid "unrecognized argument to --help= option: %q.*s" msgstr "нераÑпазнаны выбар \"-%s\"" ! #: opts.c:2078 #, gcc-internal-format msgid "HSA has not been enabled during configuration" msgstr "" ! #: opts.c:2090 #, gcc-internal-format msgid "-foffload-abi option can be specified only for offload compiler" msgstr "" ! #: opts.c:2098 #, gcc-internal-format, gfc-internal-format msgid "structure alignment must be a small power of two, not %d" msgstr "" ! #: opts.c:2217 #, fuzzy, gcc-internal-format #| msgid "unused parameter `%s'" msgid "unknown stack check parameter %qs" msgstr "невыкарыÑтаемы параметр \"%s\"" ! #: opts.c:2249 #, gcc-internal-format msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf -g%s%> for debug level" msgstr "" ! #: opts.c:2260 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "-pipe is not supported" msgid "dwarf version %d is not supported" msgstr "-pipe не падтрымліваецца" ! #: opts.c:2360 #, gcc-internal-format, gfc-internal-format msgid "%s: --param arguments should be of the form NAME=VALUE" msgstr "" ! #: opts.c:2371 #, fuzzy, gcc-internal-format #| msgid "invalid --param option: %s" msgid "invalid --param name %qs; did you mean %qs?" msgstr "нерÑчаіÑны выбар --param : %s" ! #: opts.c:2374 #, fuzzy, gcc-internal-format #| msgid "invalid --param option: %s" msgid "invalid --param name %qs" msgstr "нерÑчаіÑны выбар --param : %s" ! #: opts.c:2382 #, fuzzy, gcc-internal-format #| msgid "invalid --param option: %s" msgid "invalid --param value %qs" msgstr "нерÑчаіÑны выбар --param : %s" ! #: opts.c:2504 #, fuzzy, gcc-internal-format msgid "target system does not support debug output" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: opts.c:2513 #, fuzzy, gcc-internal-format #| msgid "section of `%s' conflicts with previous declaration" msgid "debug format %qs conflicts with prior selection" msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй" ! #: opts.c:2531 #, fuzzy, gcc-internal-format msgid "unrecognized debug output level %qs" msgstr "нераÑпазнаны выбар \"-%s\"" ! #: opts.c:2533 #, gcc-internal-format msgid "debug output level %qs is too high" msgstr "" ! #: opts.c:2553 #, gcc-internal-format msgid "getting core file size maximum limit: %m" msgstr "" ! #: opts.c:2557 #, gcc-internal-format msgid "setting core file size limit to maximum: %m" msgstr "" ! #: opts.c:2602 #, gcc-internal-format, gfc-internal-format msgid "unrecognized gcc debugging option: %c" msgstr "" ! #: opts.c:2627 #, gcc-internal-format, gfc-internal-format msgid "-Werror=%s: no option -%s" msgstr "" ! #: opts.c:2629 #, gcc-internal-format, gfc-internal-format msgid "-Werror=%s: -%s is not an option that controls warnings" msgstr "" --- 20472,20614 ---- msgid "-fsanitize-address-use-after-scope requires -fstack-reuse=none option" msgstr "" ! #: opts.c:1012 ! #, gcc-internal-format ! msgid "transactional memory is not supported with %<-fsanitize=address%>" ! msgstr "" ! ! #: opts.c:1015 ! #, gcc-internal-format ! msgid "transactional memory is not supported with %<-fsanitize=kernel-address%>" ! msgstr "" ! ! #: opts.c:1417 #, gcc-internal-format msgid "unrecognized include_flags 0x%x passed to print_specific_help" msgstr "" ! #: opts.c:1617 #, gcc-internal-format msgid "-fsanitize=all option is not valid" msgstr "" ! #: opts.c:1649 #, gcc-internal-format msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s; did you mean %qs?" msgstr "" ! #: opts.c:1656 #, gcc-internal-format msgid "unrecognized argument to -f%ssanitize%s= option: %q.*s" msgstr "" ! #: opts.c:1835 #, gcc-internal-format msgid "--help argument %q.*s is ambiguous, please be more specific" msgstr "" ! #: opts.c:1844 #, fuzzy, gcc-internal-format msgid "unrecognized argument to --help= option: %q.*s" msgstr "нераÑпазнаны выбар \"-%s\"" ! #: opts.c:2085 #, gcc-internal-format msgid "HSA has not been enabled during configuration" msgstr "" ! #: opts.c:2097 #, gcc-internal-format msgid "-foffload-abi option can be specified only for offload compiler" msgstr "" ! #: opts.c:2105 #, gcc-internal-format, gfc-internal-format msgid "structure alignment must be a small power of two, not %d" msgstr "" ! #: opts.c:2224 #, fuzzy, gcc-internal-format #| msgid "unused parameter `%s'" msgid "unknown stack check parameter %qs" msgstr "невыкарыÑтаемы параметр \"%s\"" ! #: opts.c:2256 #, gcc-internal-format msgid "%<-gdwarf%s%> is ambiguous; use %<-gdwarf-%s%> for DWARF version or %<-gdwarf -g%s%> for debug level" msgstr "" ! #: opts.c:2267 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "-pipe is not supported" msgid "dwarf version %d is not supported" msgstr "-pipe не падтрымліваецца" ! #: opts.c:2367 #, gcc-internal-format, gfc-internal-format msgid "%s: --param arguments should be of the form NAME=VALUE" msgstr "" ! #: opts.c:2378 #, fuzzy, gcc-internal-format #| msgid "invalid --param option: %s" msgid "invalid --param name %qs; did you mean %qs?" msgstr "нерÑчаіÑны выбар --param : %s" ! #: opts.c:2381 #, fuzzy, gcc-internal-format #| msgid "invalid --param option: %s" msgid "invalid --param name %qs" msgstr "нерÑчаіÑны выбар --param : %s" ! #: opts.c:2389 #, fuzzy, gcc-internal-format #| msgid "invalid --param option: %s" msgid "invalid --param value %qs" msgstr "нерÑчаіÑны выбар --param : %s" ! #: opts.c:2511 #, fuzzy, gcc-internal-format msgid "target system does not support debug output" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: opts.c:2520 #, fuzzy, gcc-internal-format #| msgid "section of `%s' conflicts with previous declaration" msgid "debug format %qs conflicts with prior selection" msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй" ! #: opts.c:2538 #, fuzzy, gcc-internal-format msgid "unrecognized debug output level %qs" msgstr "нераÑпазнаны выбар \"-%s\"" ! #: opts.c:2540 #, gcc-internal-format msgid "debug output level %qs is too high" msgstr "" ! #: opts.c:2560 #, gcc-internal-format msgid "getting core file size maximum limit: %m" msgstr "" ! #: opts.c:2564 #, gcc-internal-format msgid "setting core file size limit to maximum: %m" msgstr "" ! #: opts.c:2609 #, gcc-internal-format, gfc-internal-format msgid "unrecognized gcc debugging option: %c" msgstr "" ! #: opts.c:2634 #, gcc-internal-format, gfc-internal-format msgid "-Werror=%s: no option -%s" msgstr "" ! #: opts.c:2636 #, gcc-internal-format, gfc-internal-format msgid "-Werror=%s: -%s is not an option that controls warnings" msgstr "" *************** msgstr "" *** 20925,20931 **** msgid "register of %qD used for multiple global register variables" msgstr "" ! #: reginfo.c:789 config/rs6000/rs6000.c:31768 #, gcc-internal-format msgid "conflicts with %qD" msgstr "" --- 20956,20962 ---- msgid "register of %qD used for multiple global register variables" msgstr "" ! #: reginfo.c:789 config/rs6000/rs6000.c:31817 #, gcc-internal-format msgid "conflicts with %qD" msgstr "" *************** msgstr "памылка запіÑу Ñž % *** 21538,21549 **** msgid "error closing %s: %m" msgstr "памылка запіÑу Ñž %s" ! #: toplev.c:2054 #, gcc-internal-format msgid "self-tests incompatible with -E" msgstr "" ! #: toplev.c:2069 #, gcc-internal-format msgid "self-tests are not enabled in this build" msgstr "" --- 21569,21580 ---- msgid "error closing %s: %m" msgstr "памылка запіÑу Ñž %s" ! #: toplev.c:2057 #, gcc-internal-format msgid "self-tests incompatible with -E" msgstr "" ! #: toplev.c:2072 #, gcc-internal-format msgid "self-tests are not enabled in this build" msgstr "" *************** msgstr "перанакіраванне s *** 22467,22513 **** msgid "in expansion of macro %qs" msgstr "" ! #: tree-eh.c:4669 #, gcc-internal-format, gfc-internal-format msgid "BB %i has multiple EH edges" msgstr "" ! #: tree-eh.c:4681 #, gcc-internal-format, gfc-internal-format msgid "BB %i can not throw but has an EH edge" msgstr "" ! #: tree-eh.c:4689 #, gcc-internal-format, gfc-internal-format msgid "BB %i last statement has incorrectly set lp" msgstr "" ! #: tree-eh.c:4695 #, gcc-internal-format, gfc-internal-format msgid "BB %i is missing an EH edge" msgstr "" ! #: tree-eh.c:4701 #, gcc-internal-format, gfc-internal-format msgid "Incorrect EH edge %i->%i" msgstr "" ! #: tree-eh.c:4735 tree-eh.c:4754 #, gcc-internal-format, gfc-internal-format msgid "BB %i is missing an edge" msgstr "" ! #: tree-eh.c:4771 #, gcc-internal-format, gfc-internal-format msgid "BB %i too many fallthru edges" msgstr "" ! #: tree-eh.c:4780 #, gcc-internal-format, gfc-internal-format msgid "BB %i has incorrect edge" msgstr "" ! #: tree-eh.c:4786 #, gcc-internal-format, gfc-internal-format msgid "BB %i has incorrect fallthru edge" msgstr "" --- 22498,22544 ---- msgid "in expansion of macro %qs" msgstr "" ! #: tree-eh.c:4684 #, gcc-internal-format, gfc-internal-format msgid "BB %i has multiple EH edges" msgstr "" ! #: tree-eh.c:4696 #, gcc-internal-format, gfc-internal-format msgid "BB %i can not throw but has an EH edge" msgstr "" ! #: tree-eh.c:4704 #, gcc-internal-format, gfc-internal-format msgid "BB %i last statement has incorrectly set lp" msgstr "" ! #: tree-eh.c:4710 #, gcc-internal-format, gfc-internal-format msgid "BB %i is missing an EH edge" msgstr "" ! #: tree-eh.c:4716 #, gcc-internal-format, gfc-internal-format msgid "Incorrect EH edge %i->%i" msgstr "" ! #: tree-eh.c:4750 tree-eh.c:4769 #, gcc-internal-format, gfc-internal-format msgid "BB %i is missing an edge" msgstr "" ! #: tree-eh.c:4786 #, gcc-internal-format, gfc-internal-format msgid "BB %i too many fallthru edges" msgstr "" ! #: tree-eh.c:4795 #, gcc-internal-format, gfc-internal-format msgid "BB %i has incorrect edge" msgstr "" ! #: tree-eh.c:4801 #, gcc-internal-format, gfc-internal-format msgid "BB %i has incorrect fallthru edge" msgstr "" *************** msgstr "" *** 22608,22639 **** msgid "target does not support atomic profile update, single mode is selected" msgstr "" ! #: tree-ssa-ccp.c:3422 #, gcc-internal-format, gfc-internal-format msgid "argument %u null where non-null expected" msgstr "" ! #: tree-ssa-ccp.c:3427 #, fuzzy, gcc-internal-format msgid "in a call to built-in function %qD" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: tree-ssa-ccp.c:3431 #, gcc-internal-format msgid "in a call to function %qD declared here" msgstr "" ! #: tree-ssa-loop-niter.c:2367 #, gcc-internal-format msgid "missed loop optimization, the loop counter may overflow" msgstr "" ! #: tree-ssa-loop-niter.c:2964 #, gcc-internal-format, gfc-internal-format msgid "iteration %s invokes undefined behavior" msgstr "" ! #: tree-ssa-loop-niter.c:2965 #, gcc-internal-format msgid "within this loop" msgstr "" --- 22639,22670 ---- msgid "target does not support atomic profile update, single mode is selected" msgstr "" ! #: tree-ssa-ccp.c:3420 #, gcc-internal-format, gfc-internal-format msgid "argument %u null where non-null expected" msgstr "" ! #: tree-ssa-ccp.c:3425 #, fuzzy, gcc-internal-format msgid "in a call to built-in function %qD" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: tree-ssa-ccp.c:3429 #, gcc-internal-format msgid "in a call to function %qD declared here" msgstr "" ! #: tree-ssa-loop-niter.c:2416 #, gcc-internal-format msgid "missed loop optimization, the loop counter may overflow" msgstr "" ! #: tree-ssa-loop-niter.c:3013 #, gcc-internal-format, gfc-internal-format msgid "iteration %s invokes undefined behavior" msgstr "" ! #: tree-ssa-loop-niter.c:3014 #, gcc-internal-format msgid "within this loop" msgstr "" *************** msgstr "" *** 22991,23001 **** #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 ! #: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6741 ! #: config/arm/arm.c:6769 config/arm/arm.c:6786 config/avr/avr.c:9460 ! #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7715 ! #: config/i386/i386.c:41425 config/ia64/ia64.c:762 ! #: config/rs6000/rs6000.c:35369 config/spu/spu.c:3741 #: ada/gcc-interface/utils.c:6124 ada/gcc-interface/utils.c:6141 #: ada/gcc-interface/utils.c:6157 ada/gcc-interface/utils.c:6183 #: lto/lto-lang.c:241 --- 23022,23032 ---- #: c-family/c-attribs.c:2898 c-family/c-attribs.c:2937 #: c-family/c-attribs.c:3019 c-family/c-attribs.c:3062 #: c-family/c-attribs.c:3078 c-family/c-attribs.c:3172 ! #: c-family/c-common.c:5631 config/darwin.c:2062 config/arm/arm.c:6719 ! #: config/arm/arm.c:6747 config/arm/arm.c:6764 config/avr/avr.c:9475 ! #: config/h8300/h8300.c:5480 config/h8300/h8300.c:5504 config/i386/i386.c:7721 ! #: config/i386/i386.c:41466 config/ia64/ia64.c:762 ! #: config/rs6000/rs6000.c:35418 config/spu/spu.c:3741 #: ada/gcc-interface/utils.c:6124 ada/gcc-interface/utils.c:6141 #: ada/gcc-interface/utils.c:6157 ada/gcc-interface/utils.c:6183 #: lto/lto-lang.c:241 *************** msgstr "" *** 23975,23981 **** msgid "type was previously declared %qE" msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\"" ! #: c-family/c-attribs.c:2524 cp/class.c:4715 #, gcc-internal-format msgid "% may only be specified for a virtual function" msgstr "" --- 24006,24012 ---- msgid "type was previously declared %qE" msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\"" ! #: c-family/c-attribs.c:2524 cp/class.c:4717 #, gcc-internal-format msgid "% may only be specified for a virtual function" msgstr "" *************** msgstr "" *** 24252,24258 **** msgid "the compiler can assume that the address of %qD will always evaluate to %" msgstr "" ! #: c-family/c-common.c:3427 cp/semantics.c:660 cp/typeck.c:8608 #, gcc-internal-format msgid "suggest parentheses around assignment used as truth value" msgstr "" --- 24283,24289 ---- msgid "the compiler can assume that the address of %qD will always evaluate to %" msgstr "" ! #: c-family/c-common.c:3427 cp/semantics.c:660 cp/typeck.c:8609 #, gcc-internal-format msgid "suggest parentheses around assignment used as truth value" msgstr "" *************** msgstr "" *** 24889,24950 **** msgid "extra type qualifiers in format argument (argument %d)" msgstr "" ! #: c-family/c-format.c:3469 #, gcc-internal-format msgid "%s %<%s%.*s%> expects argument of type %<%s%s%>, but argument %d has type %qT" msgstr "" ! #: c-family/c-format.c:3479 #, gcc-internal-format msgid "%s %<%s%.*s%> expects a matching %<%s%s%> argument" msgstr "" ! #: c-family/c-format.c:3490 #, gcc-internal-format msgid "%s %<%s%.*s%> expects argument of type %<%T%s%>, but argument %d has type %qT" msgstr "" ! #: c-family/c-format.c:3500 #, gcc-internal-format msgid "%s %<%s%.*s%> expects a matching %<%T%s%> argument" msgstr "" ! #: c-family/c-format.c:3562 c-family/c-format.c:3568 c-family/c-format.c:3719 #, gcc-internal-format msgid "%<__gcc_host_wide_int__%> is not defined as a type" msgstr "" ! #: c-family/c-format.c:3575 c-family/c-format.c:3729 #, gcc-internal-format msgid "%<__gcc_host_wide_int__%> is not defined as % or %" msgstr "" ! #: c-family/c-format.c:3625 #, gcc-internal-format msgid "% is not defined as a type" msgstr "" ! #: c-family/c-format.c:3678 #, gcc-internal-format msgid "% is not defined as a type" msgstr "" ! #: c-family/c-format.c:3695 #, gcc-internal-format msgid "% is not defined as a type" msgstr "" ! #: c-family/c-format.c:3700 #, gcc-internal-format msgid "% is not defined as a pointer type" msgstr "" ! #: c-family/c-format.c:3973 #, gcc-internal-format msgid "args to be formatted is not %<...%>" msgstr "" ! #: c-family/c-format.c:3985 #, gcc-internal-format msgid "strftime formats cannot format arguments" msgstr "" --- 24920,24981 ---- msgid "extra type qualifiers in format argument (argument %d)" msgstr "" ! #: c-family/c-format.c:3475 #, gcc-internal-format msgid "%s %<%s%.*s%> expects argument of type %<%s%s%>, but argument %d has type %qT" msgstr "" ! #: c-family/c-format.c:3485 #, gcc-internal-format msgid "%s %<%s%.*s%> expects a matching %<%s%s%> argument" msgstr "" ! #: c-family/c-format.c:3496 #, gcc-internal-format msgid "%s %<%s%.*s%> expects argument of type %<%T%s%>, but argument %d has type %qT" msgstr "" ! #: c-family/c-format.c:3506 #, gcc-internal-format msgid "%s %<%s%.*s%> expects a matching %<%T%s%> argument" msgstr "" ! #: c-family/c-format.c:3568 c-family/c-format.c:3574 c-family/c-format.c:3725 #, gcc-internal-format msgid "%<__gcc_host_wide_int__%> is not defined as a type" msgstr "" ! #: c-family/c-format.c:3581 c-family/c-format.c:3735 #, gcc-internal-format msgid "%<__gcc_host_wide_int__%> is not defined as % or %" msgstr "" ! #: c-family/c-format.c:3631 #, gcc-internal-format msgid "% is not defined as a type" msgstr "" ! #: c-family/c-format.c:3684 #, gcc-internal-format msgid "% is not defined as a type" msgstr "" ! #: c-family/c-format.c:3701 #, gcc-internal-format msgid "% is not defined as a type" msgstr "" ! #: c-family/c-format.c:3706 #, gcc-internal-format msgid "% is not defined as a pointer type" msgstr "" ! #: c-family/c-format.c:3979 #, gcc-internal-format msgid "args to be formatted is not %<...%>" msgstr "" ! #: c-family/c-format.c:3991 #, gcc-internal-format msgid "strftime formats cannot format arguments" msgstr "" *************** msgstr "" *** 25047,25053 **** msgid "repeated %<@%> before Objective-C string" msgstr "" ! #: c-family/c-lex.c:1191 cp/parser.c:3974 #, gcc-internal-format msgid "unsupported non-standard concatenation of string literals" msgstr "" --- 25078,25084 ---- msgid "repeated %<@%> before Objective-C string" msgstr "" ! #: c-family/c-lex.c:1191 cp/parser.c:3976 #, gcc-internal-format msgid "unsupported non-standard concatenation of string literals" msgstr "" *************** msgstr "" *** 25077,25083 **** msgid "%<#pragma omp atomic capture%> uses two different variables for memory" msgstr "" ! #: c-family/c-omp.c:485 cp/semantics.c:8196 #, gcc-internal-format msgid "invalid type for iteration variable %qE" msgstr "" --- 25108,25114 ---- msgid "%<#pragma omp atomic capture%> uses two different variables for memory" msgstr "" ! #: c-family/c-omp.c:485 cp/semantics.c:8209 #, gcc-internal-format msgid "invalid type for iteration variable %qE" msgstr "" *************** msgstr "" *** 25093,25114 **** msgid "%qE is not initialized" msgstr "прапушчан ініцыÑлізатар" ! #: c-family/c-omp.c:527 cp/semantics.c:8084 #, gcc-internal-format msgid "missing controlling predicate" msgstr "" ! #: c-family/c-omp.c:612 cp/semantics.c:7740 #, fuzzy, gcc-internal-format msgid "invalid controlling predicate" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: c-family/c-omp.c:619 cp/semantics.c:8090 #, fuzzy, gcc-internal-format msgid "missing increment expression" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" ! #: c-family/c-omp.c:683 cp/semantics.c:7855 #, fuzzy, gcc-internal-format msgid "invalid increment expression" msgstr "нерÑчаіÑны ініцыÑлізатар" --- 25124,25145 ---- msgid "%qE is not initialized" msgstr "прапушчан ініцыÑлізатар" ! #: c-family/c-omp.c:527 cp/semantics.c:8097 #, gcc-internal-format msgid "missing controlling predicate" msgstr "" ! #: c-family/c-omp.c:612 cp/semantics.c:7753 #, fuzzy, gcc-internal-format msgid "invalid controlling predicate" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: c-family/c-omp.c:619 cp/semantics.c:8103 #, fuzzy, gcc-internal-format msgid "missing increment expression" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" ! #: c-family/c-omp.c:683 cp/semantics.c:7868 #, fuzzy, gcc-internal-format msgid "invalid increment expression" msgstr "нерÑчаіÑны ініцыÑлізатар" *************** msgstr "вÑртанне" *** 25664,25671 **** msgid "wrong type argument to %s" msgstr "не хапае аргументаў у функцыі" ! #: c-family/c-warn.c:49 c-family/c-warn.c:62 cp/constexpr.c:1757 ! #: cp/constexpr.c:3911 #, gcc-internal-format msgid "overflow in constant expression" msgstr "" --- 25695,25702 ---- msgid "wrong type argument to %s" msgstr "не хапае аргументаў у функцыі" ! #: c-family/c-warn.c:49 c-family/c-warn.c:62 cp/constexpr.c:1773 ! #: cp/constexpr.c:3935 #, gcc-internal-format msgid "overflow in constant expression" msgstr "" *************** msgstr[1] "" *** 26346,26352 **** msgid "this condition has identical branches" msgstr "" ! #: c-family/cilk.c:93 cp/parser.c:6570 #, fuzzy, gcc-internal-format msgid "%<_Cilk_spawn%> may only be used inside a function" msgstr "\"%s\" звычайна функцыÑ" --- 26377,26383 ---- msgid "this condition has identical branches" msgstr "" ! #: c-family/cilk.c:93 cp/parser.c:6575 #, fuzzy, gcc-internal-format msgid "%<_Cilk_spawn%> may only be used inside a function" msgstr "\"%s\" звычайна функцыÑ" *************** msgstr "" *** 26510,26516 **** msgid "-march=%s: unsupported ISA substring %qs" msgstr "" ! #: common/config/rs6000/rs6000-common.c:174 config/sparc/sparc.c:1371 #, gcc-internal-format, gfc-internal-format msgid "unknown -mdebug-%s switch" msgstr "" --- 26541,26547 ---- msgid "-march=%s: unsupported ISA substring %qs" msgstr "" ! #: common/config/rs6000/rs6000-common.c:174 config/sparc/sparc.c:1482 #, gcc-internal-format, gfc-internal-format msgid "unknown -mdebug-%s switch" msgstr "" *************** msgstr "" *** 26836,26842 **** msgid "%Kargument %d must be a constant immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/aarch64/aarch64-builtins.c:1160 config/arm/arm-builtins.c:2471 #, gcc-internal-format msgid "%Klane index must be a constant immediate" msgstr "" --- 26867,26873 ---- msgid "%Kargument %d must be a constant immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/aarch64/aarch64-builtins.c:1160 config/arm/arm-builtins.c:2476 #, gcc-internal-format msgid "%Klane index must be a constant immediate" msgstr "" *************** msgstr "" *** 26916,26922 **** msgid "unknown value %qs for -mtune" msgstr "" ! #: config/aarch64/aarch64.c:8929 config/arm/arm.c:3094 #, gcc-internal-format, gfc-internal-format msgid "switch -mcpu=%s conflicts with -march=%s switch" msgstr "" --- 26947,26953 ---- msgid "unknown value %qs for -mtune" msgstr "" ! #: config/aarch64/aarch64.c:8929 config/arm/arm.c:3072 #, gcc-internal-format, gfc-internal-format msgid "switch -mcpu=%s conflicts with -march=%s switch" msgstr "" *************** msgstr "" *** 27002,27010 **** msgid "target %s %s=%s is not valid" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: config/aarch64/aarch64.c:9544 config/arm/arm.c:30411 ! #: config/i386/i386.c:6772 config/rs6000/rs6000.c:39283 ! #: config/s390/s390.c:15017 #, gcc-internal-format msgid "attribute % argument not a string" msgstr "" --- 27033,27041 ---- msgid "target %s %s=%s is not valid" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: config/aarch64/aarch64.c:9544 config/arm/arm.c:30400 ! #: config/i386/i386.c:6778 config/rs6000/rs6000.c:39332 ! #: config/s390/s390.c:15024 #, gcc-internal-format msgid "attribute % argument not a string" msgstr "" *************** msgid "bad value %qs for -mmemory-latenc *** 27090,27096 **** msgstr "" #: config/alpha/alpha.c:6663 config/alpha/alpha.c:6666 config/arc/arc.c:5816 ! #: config/arc/arc.c:6095 config/s390/s390.c:873 config/tilegx/tilegx.c:3542 #: config/tilepro/tilepro.c:3106 #, gcc-internal-format msgid "bad builtin fcode" --- 27121,27127 ---- msgstr "" #: config/alpha/alpha.c:6663 config/alpha/alpha.c:6666 config/arc/arc.c:5816 ! #: config/arc/arc.c:6095 config/s390/s390.c:876 config/tilegx/tilegx.c:3542 #: config/tilepro/tilepro.c:3106 #, gcc-internal-format msgid "bad builtin fcode" *************** msgstr "" *** 27265,27643 **** msgid "insn addresses not freed" msgstr "" ! #: config/arm/arm-builtins.c:2349 #, fuzzy, gcc-internal-format msgid "this builtin is not supported for this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/arm/arm-builtins.c:2454 #, gcc-internal-format msgid "You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use these intrinsics." msgstr "" ! #: config/arm/arm-builtins.c:2492 #, gcc-internal-format msgid "You must enable VFP instructions to use these intrinsics." msgstr "" ! #: config/arm/arm-builtins.c:2552 #, gcc-internal-format msgid "You must enable crypto instructions (e.g. include -mfloat-abi=softfp -mfpu=crypto-neon...) to use these intrinsics." msgstr "" #. @@@ better error message ! #: config/arm/arm-builtins.c:2610 config/arm/arm-builtins.c:2714 #, gcc-internal-format msgid "selector must be an immediate" msgstr "" ! #: config/arm/arm-builtins.c:2618 config/arm/arm-builtins.c:2663 ! #: config/arm/arm-builtins.c:2721 config/arm/arm-builtins.c:2730 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of selector should be in 0 to 7" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2623 config/arm/arm-builtins.c:2732 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of selector should be in 0 to 3" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2628 config/arm/arm-builtins.c:2734 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of selector should be in 0 to 1" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2800 #, gcc-internal-format msgid "mask must be an immediate" msgstr "" ! #: config/arm/arm-builtins.c:2805 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of mask should be in 0 to 255" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2993 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_rori_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:2995 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_rori_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:2997 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_ror_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:2999 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_ror_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3005 #, gcc-internal-format msgid "the range of count should be in 0 to 64. please check the intrinsic _mm_rori_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3007 #, gcc-internal-format msgid "the range of count should be in 0 to 64. please check the intrinsic _mm_ror_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3012 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srli_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3014 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srli_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3016 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srli_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3018 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_slli_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3020 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_slli_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3022 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_slli_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3024 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srai_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3026 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srai_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3028 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srai_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3030 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srl_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3032 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srl_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3034 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srl_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3036 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sll_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3038 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sll_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3040 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sll_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3042 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sra_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3044 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sra_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3046 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." msgstr "" ! #: config/arm/arm.c:2800 #, gcc-internal-format msgid "iWMMXt and NEON are incompatible" msgstr "" ! #: config/arm/arm.c:2806 #, fuzzy, gcc-internal-format msgid "target CPU does not support ARM mode" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/arm/arm.c:2810 #, gcc-internal-format msgid "enabling backtrace support is only meaningful when compiling for the Thumb" msgstr "" ! #: config/arm/arm.c:2813 #, gcc-internal-format msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" msgstr "" ! #: config/arm/arm.c:2821 #, gcc-internal-format msgid "-g with -mno-apcs-frame may not give sensible debugging" msgstr "" ! #: config/arm/arm.c:2825 #, gcc-internal-format msgid "iWMMXt unsupported under Thumb mode" msgstr "" ! #: config/arm/arm.c:2828 #, gcc-internal-format msgid "can not use -mtp=cp15 with 16-bit Thumb" msgstr "" ! #: config/arm/arm.c:2832 #, gcc-internal-format msgid "RTP PIC is incompatible with Thumb" msgstr "" ! #: config/arm/arm.c:2840 #, gcc-internal-format msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" msgstr "" ! #: config/arm/arm.c:2845 #, gcc-internal-format msgid "-mpure-code only supports non-pic code on armv7-m targets" msgstr "" ! #: config/arm/arm.c:2948 #, fuzzy, gcc-internal-format msgid "target CPU does not support THUMB instructions" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/arm/arm.c:2993 #, fuzzy, gcc-internal-format msgid "target CPU does not support unaligned accesses" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" #. To support this we need to be able to parse FPU feature options #. from the architecture string. ! #: config/arm/arm.c:3247 #, gcc-internal-format msgid "-mfpu=auto not currently supported without an explicit CPU." msgstr "" ! #: config/arm/arm.c:3322 #, gcc-internal-format msgid "target CPU does not support interworking" msgstr "" ! #: config/arm/arm.c:3328 #, gcc-internal-format msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" msgstr "" ! #: config/arm/arm.c:3336 #, gcc-internal-format msgid "-fpic and -mapcs-reent are incompatible" msgstr "" ! #: config/arm/arm.c:3339 #, gcc-internal-format msgid "APCS reentrant code not supported. Ignored" msgstr "" ! #: config/arm/arm.c:3373 #, gcc-internal-format msgid "selected fp16 options are incompatible" msgstr "" ! #: config/arm/arm.c:3404 #, gcc-internal-format msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" msgstr "" ! #: config/arm/arm.c:3407 #, gcc-internal-format msgid "iwmmxt abi requires an iwmmxt capable cpu" msgstr "" ! #: config/arm/arm.c:3418 #, gcc-internal-format msgid "AAPCS does not support -mcaller-super-interworking" msgstr "" ! #: config/arm/arm.c:3421 #, gcc-internal-format msgid "AAPCS does not support -mcallee-super-interworking" msgstr "" ! #: config/arm/arm.c:3426 #, gcc-internal-format msgid "__fp16 and no ldrh" msgstr "" ! #: config/arm/arm.c:3437 #, gcc-internal-format msgid "-mfloat-abi=hard: selected processor lacks an FPU" msgstr "" ! #: config/arm/arm.c:3445 #, gcc-internal-format msgid "-mfloat-abi=hard and VFP" msgstr "" ! #: config/arm/arm.c:3481 #, gcc-internal-format msgid "structure size boundary can only be set to 8, 32 or 64" msgstr "" ! #: config/arm/arm.c:3483 #, gcc-internal-format msgid "structure size boundary can only be set to 8 or 32" msgstr "" ! #: config/arm/arm.c:3508 #, gcc-internal-format msgid "RTP PIC is incompatible with -msingle-pic-base" msgstr "" ! #: config/arm/arm.c:3520 #, gcc-internal-format msgid "-mpic-register= is useless without -fpic" msgstr "" ! #: config/arm/arm.c:3529 #, gcc-internal-format, gfc-internal-format msgid "unable to use '%s' for PIC register" msgstr "" ! #: config/arm/arm.c:3548 #, fuzzy, gcc-internal-format msgid "-freorder-blocks-and-partition not supported on this architecture" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/arm/arm.c:3639 #, fuzzy, gcc-internal-format msgid "target CPU does not support ARMv8-M Security Extensions" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/arm/arm.c:5707 #, gcc-internal-format msgid "non-AAPCS derived PCS variant" msgstr "" ! #: config/arm/arm.c:5709 #, gcc-internal-format msgid "variadic functions must use the base AAPCS variant" msgstr "" ! #: config/arm/arm.c:5728 #, gcc-internal-format msgid "PCS variant" msgstr "" ! #: config/arm/arm.c:5923 #, gcc-internal-format msgid "Thumb-1 hard-float VFP ABI" msgstr "" ! #: config/arm/arm.c:6362 config/arm/arm.c:6565 config/arm/arm.c:6593 ! #: config/arm/arm.c:26560 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 7.1" msgstr "" ! #: config/arm/arm.c:6709 config/arm/arm.c:6727 config/arm/arm.c:6902 ! #: config/avr/avr.c:9480 config/avr/avr.c:9496 config/bfin/bfin.c:4673 #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 ! #: config/i386/i386.c:7670 config/i386/i386.c:13041 config/i386/i386.c:41329 ! #: config/i386/i386.c:41379 config/i386/i386.c:41449 config/m68k/m68k.c:760 ! #: config/mcore/mcore.c:3056 config/nvptx/nvptx.c:4278 config/rl78/rl78.c:781 ! #: config/rs6000/rs6000.c:35295 config/rx/rx.c:2696 config/rx/rx.c:2722 ! #: config/s390/s390.c:1082 config/sh/sh.c:8394 config/sh/sh.c:8412 #: config/sh/sh.c:8436 config/sh/sh.c:8507 config/sh/sh.c:8530 #: config/spu/spu.c:3683 config/stormy16/stormy16.c:2212 #: config/v850/v850.c:2083 config/visium/visium.c:705 --- 27296,27674 ---- msgid "insn addresses not freed" msgstr "" ! #: config/arm/arm-builtins.c:2354 #, fuzzy, gcc-internal-format msgid "this builtin is not supported for this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/arm/arm-builtins.c:2459 #, gcc-internal-format msgid "You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use these intrinsics." msgstr "" ! #: config/arm/arm-builtins.c:2497 #, gcc-internal-format msgid "You must enable VFP instructions to use these intrinsics." msgstr "" ! #: config/arm/arm-builtins.c:2557 #, gcc-internal-format msgid "You must enable crypto instructions (e.g. include -mfloat-abi=softfp -mfpu=crypto-neon...) to use these intrinsics." msgstr "" #. @@@ better error message ! #: config/arm/arm-builtins.c:2615 config/arm/arm-builtins.c:2719 #, gcc-internal-format msgid "selector must be an immediate" msgstr "" ! #: config/arm/arm-builtins.c:2623 config/arm/arm-builtins.c:2668 ! #: config/arm/arm-builtins.c:2726 config/arm/arm-builtins.c:2735 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of selector should be in 0 to 7" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2628 config/arm/arm-builtins.c:2737 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of selector should be in 0 to 3" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2633 config/arm/arm-builtins.c:2739 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of selector should be in 0 to 1" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2805 #, gcc-internal-format msgid "mask must be an immediate" msgstr "" ! #: config/arm/arm-builtins.c:2810 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "the range of mask should be in 0 to 255" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/arm/arm-builtins.c:2998 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_rori_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3000 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_rori_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3002 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_ror_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3004 #, gcc-internal-format msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_ror_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3010 #, gcc-internal-format msgid "the range of count should be in 0 to 64. please check the intrinsic _mm_rori_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3012 #, gcc-internal-format msgid "the range of count should be in 0 to 64. please check the intrinsic _mm_ror_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3017 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srli_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3019 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srli_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3021 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srli_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3023 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_slli_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3025 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_slli_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3027 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_slli_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3029 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srai_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3031 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srai_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3033 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srai_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3035 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srl_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3037 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srl_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3039 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_srl_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3041 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sll_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3043 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sll_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3045 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sll_si64 in code." msgstr "" ! #: config/arm/arm-builtins.c:3047 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sra_pi16 in code." msgstr "" ! #: config/arm/arm-builtins.c:3049 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sra_pi32 in code." msgstr "" ! #: config/arm/arm-builtins.c:3051 #, gcc-internal-format msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." msgstr "" ! #: config/arm/arm.c:2778 #, gcc-internal-format msgid "iWMMXt and NEON are incompatible" msgstr "" ! #: config/arm/arm.c:2784 #, fuzzy, gcc-internal-format msgid "target CPU does not support ARM mode" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/arm/arm.c:2788 #, gcc-internal-format msgid "enabling backtrace support is only meaningful when compiling for the Thumb" msgstr "" ! #: config/arm/arm.c:2791 #, gcc-internal-format msgid "enabling callee interworking support is only meaningful when compiling for the Thumb" msgstr "" ! #: config/arm/arm.c:2799 #, gcc-internal-format msgid "-g with -mno-apcs-frame may not give sensible debugging" msgstr "" ! #: config/arm/arm.c:2803 #, gcc-internal-format msgid "iWMMXt unsupported under Thumb mode" msgstr "" ! #: config/arm/arm.c:2806 #, gcc-internal-format msgid "can not use -mtp=cp15 with 16-bit Thumb" msgstr "" ! #: config/arm/arm.c:2810 #, gcc-internal-format msgid "RTP PIC is incompatible with Thumb" msgstr "" ! #: config/arm/arm.c:2818 #, gcc-internal-format msgid "-mslow-flash-data only supports non-pic code on armv7-m targets" msgstr "" ! #: config/arm/arm.c:2823 #, gcc-internal-format msgid "-mpure-code only supports non-pic code on armv7-m targets" msgstr "" ! #: config/arm/arm.c:2926 #, fuzzy, gcc-internal-format msgid "target CPU does not support THUMB instructions" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/arm/arm.c:2971 #, fuzzy, gcc-internal-format msgid "target CPU does not support unaligned accesses" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" #. To support this we need to be able to parse FPU feature options #. from the architecture string. ! #: config/arm/arm.c:3225 #, gcc-internal-format msgid "-mfpu=auto not currently supported without an explicit CPU." msgstr "" ! #: config/arm/arm.c:3300 #, gcc-internal-format msgid "target CPU does not support interworking" msgstr "" ! #: config/arm/arm.c:3306 #, gcc-internal-format msgid "-mapcs-stack-check incompatible with -mno-apcs-frame" msgstr "" ! #: config/arm/arm.c:3314 #, gcc-internal-format msgid "-fpic and -mapcs-reent are incompatible" msgstr "" ! #: config/arm/arm.c:3317 #, gcc-internal-format msgid "APCS reentrant code not supported. Ignored" msgstr "" ! #: config/arm/arm.c:3351 #, gcc-internal-format msgid "selected fp16 options are incompatible" msgstr "" ! #: config/arm/arm.c:3382 #, gcc-internal-format msgid "iwmmxt requires an AAPCS compatible ABI for proper operation" msgstr "" ! #: config/arm/arm.c:3385 #, gcc-internal-format msgid "iwmmxt abi requires an iwmmxt capable cpu" msgstr "" ! #: config/arm/arm.c:3396 #, gcc-internal-format msgid "AAPCS does not support -mcaller-super-interworking" msgstr "" ! #: config/arm/arm.c:3399 #, gcc-internal-format msgid "AAPCS does not support -mcallee-super-interworking" msgstr "" ! #: config/arm/arm.c:3404 #, gcc-internal-format msgid "__fp16 and no ldrh" msgstr "" ! #: config/arm/arm.c:3415 #, gcc-internal-format msgid "-mfloat-abi=hard: selected processor lacks an FPU" msgstr "" ! #: config/arm/arm.c:3423 #, gcc-internal-format msgid "-mfloat-abi=hard and VFP" msgstr "" ! #: config/arm/arm.c:3459 #, gcc-internal-format msgid "structure size boundary can only be set to 8, 32 or 64" msgstr "" ! #: config/arm/arm.c:3461 #, gcc-internal-format msgid "structure size boundary can only be set to 8 or 32" msgstr "" ! #: config/arm/arm.c:3486 #, gcc-internal-format msgid "RTP PIC is incompatible with -msingle-pic-base" msgstr "" ! #: config/arm/arm.c:3498 #, gcc-internal-format msgid "-mpic-register= is useless without -fpic" msgstr "" ! #: config/arm/arm.c:3507 #, gcc-internal-format, gfc-internal-format msgid "unable to use '%s' for PIC register" msgstr "" ! #: config/arm/arm.c:3526 #, fuzzy, gcc-internal-format msgid "-freorder-blocks-and-partition not supported on this architecture" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/arm/arm.c:3617 #, fuzzy, gcc-internal-format msgid "target CPU does not support ARMv8-M Security Extensions" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/arm/arm.c:5685 #, gcc-internal-format msgid "non-AAPCS derived PCS variant" msgstr "" ! #: config/arm/arm.c:5687 #, gcc-internal-format msgid "variadic functions must use the base AAPCS variant" msgstr "" ! #: config/arm/arm.c:5706 #, gcc-internal-format msgid "PCS variant" msgstr "" ! #: config/arm/arm.c:5901 #, gcc-internal-format msgid "Thumb-1 hard-float VFP ABI" msgstr "" ! #: config/arm/arm.c:6340 config/arm/arm.c:6543 config/arm/arm.c:6571 ! #: config/arm/arm.c:26549 #, gcc-internal-format msgid "parameter passing for argument of type %qT changed in GCC 7.1" msgstr "" ! #: config/arm/arm.c:6687 config/arm/arm.c:6705 config/arm/arm.c:6880 ! #: config/avr/avr.c:9495 config/avr/avr.c:9511 config/bfin/bfin.c:4673 #: config/bfin/bfin.c:4734 config/bfin/bfin.c:4763 #: config/epiphany/epiphany.c:475 config/h8300/h8300.c:5456 ! #: config/i386/i386.c:7676 config/i386/i386.c:13047 config/i386/i386.c:41370 ! #: config/i386/i386.c:41420 config/i386/i386.c:41490 config/m68k/m68k.c:760 ! #: config/mcore/mcore.c:3056 config/nvptx/nvptx.c:4294 config/rl78/rl78.c:781 ! #: config/rs6000/rs6000.c:35344 config/rx/rx.c:2696 config/rx/rx.c:2722 ! #: config/s390/s390.c:1085 config/sh/sh.c:8394 config/sh/sh.c:8412 #: config/sh/sh.c:8436 config/sh/sh.c:8507 config/sh/sh.c:8530 #: config/spu/spu.c:3683 config/stormy16/stormy16.c:2212 #: config/v850/v850.c:2083 config/visium/visium.c:705 *************** msgstr "" *** 27645,27716 **** msgid "%qE attribute only applies to functions" msgstr "\"%s\" звычайна функцыÑ" ! #: config/arm/arm.c:6851 #, gcc-internal-format msgid "%qE attribute not available to functions with arguments passed on the stack" msgstr "" ! #: config/arm/arm.c:6863 #, gcc-internal-format msgid "%qE attribute not available to functions with variable number of arguments" msgstr "" ! #: config/arm/arm.c:6872 #, gcc-internal-format msgid "%qE attribute not available to functions that return value on the stack" msgstr "" ! #: config/arm/arm.c:6894 config/arm/arm.c:6946 #, fuzzy, gcc-internal-format msgid "%qE attribute ignored without -mcmse option." msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/arm/arm.c:6913 #, gcc-internal-format msgid "%qE attribute has no effect on functions with static linkage" msgstr "" ! #: config/arm/arm.c:6962 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to base type of a function pointer" msgstr "\"%s\" звычайна функцыÑ" ! #: config/arm/arm.c:12245 #, gcc-internal-format msgid "%K%s %wd out of range %wd - %wd" msgstr "" ! #: config/arm/arm.c:12248 #, gcc-internal-format msgid "%s %wd out of range %wd - %wd" msgstr "" ! #: config/arm/arm.c:23495 #, gcc-internal-format msgid "unable to compute real location of stacked parameter" msgstr "" ! #: config/arm/arm.c:24148 #, gcc-internal-format msgid "Unexpected thumb1 far jump" msgstr "" ! #: config/arm/arm.c:24412 #, gcc-internal-format msgid "no low registers available for popping high registers" msgstr "" ! #: config/arm/arm.c:24661 #, gcc-internal-format msgid "interrupt Service Routines cannot be coded in Thumb mode" msgstr "" ! #: config/arm/arm.c:24890 #, gcc-internal-format msgid "-fstack-check=specific for Thumb-1" msgstr "" ! #: config/arm/arm.c:30435 #, gcc-internal-format, gfc-internal-format msgid "invalid fpu for attribute(target(\"%s\"))" msgstr "" --- 27676,27752 ---- msgid "%qE attribute only applies to functions" msgstr "\"%s\" звычайна функцыÑ" ! #: config/arm/arm.c:6829 #, gcc-internal-format msgid "%qE attribute not available to functions with arguments passed on the stack" msgstr "" ! #: config/arm/arm.c:6841 #, gcc-internal-format msgid "%qE attribute not available to functions with variable number of arguments" msgstr "" ! #: config/arm/arm.c:6850 #, gcc-internal-format msgid "%qE attribute not available to functions that return value on the stack" msgstr "" ! #: config/arm/arm.c:6872 config/arm/arm.c:6924 #, fuzzy, gcc-internal-format msgid "%qE attribute ignored without -mcmse option." msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/arm/arm.c:6891 #, gcc-internal-format msgid "%qE attribute has no effect on functions with static linkage" msgstr "" ! #: config/arm/arm.c:6940 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to base type of a function pointer" msgstr "\"%s\" звычайна функцыÑ" ! #: config/arm/arm.c:8656 ! #, gcc-internal-format ! msgid "accessing thread-local storage is not currently supported with -mpure-code or -mslow-flash-data" ! msgstr "" ! ! #: config/arm/arm.c:12232 #, gcc-internal-format msgid "%K%s %wd out of range %wd - %wd" msgstr "" ! #: config/arm/arm.c:12235 #, gcc-internal-format msgid "%s %wd out of range %wd - %wd" msgstr "" ! #: config/arm/arm.c:23484 #, gcc-internal-format msgid "unable to compute real location of stacked parameter" msgstr "" ! #: config/arm/arm.c:24137 #, gcc-internal-format msgid "Unexpected thumb1 far jump" msgstr "" ! #: config/arm/arm.c:24401 #, gcc-internal-format msgid "no low registers available for popping high registers" msgstr "" ! #: config/arm/arm.c:24650 #, gcc-internal-format msgid "interrupt Service Routines cannot be coded in Thumb mode" msgstr "" ! #: config/arm/arm.c:24879 #, gcc-internal-format msgid "-fstack-check=specific for Thumb-1" msgstr "" ! #: config/arm/arm.c:30424 #, gcc-internal-format, gfc-internal-format msgid "invalid fpu for attribute(target(\"%s\"))" msgstr "" *************** msgstr "" *** 27718,27730 **** #. This doesn't really make sense until we support #. general dynamic selection of the architecture and all #. sub-features. ! #: config/arm/arm.c:30443 #, gcc-internal-format msgid "auto fpu selection not currently permitted here" msgstr "" ! #: config/arm/arm.c:30450 config/i386/i386.c:6838 config/i386/i386.c:6885 ! #: config/s390/s390.c:15083 config/s390/s390.c:15133 config/s390/s390.c:15150 #, gcc-internal-format, gfc-internal-format msgid "attribute(target(\"%s\")) is unknown" msgstr "" --- 27754,27766 ---- #. This doesn't really make sense until we support #. general dynamic selection of the architecture and all #. sub-features. ! #: config/arm/arm.c:30432 #, gcc-internal-format msgid "auto fpu selection not currently permitted here" msgstr "" ! #: config/arm/arm.c:30439 config/i386/i386.c:6844 config/i386/i386.c:6891 ! #: config/s390/s390.c:15090 config/s390/s390.c:15140 config/s390/s390.c:15157 #, gcc-internal-format, gfc-internal-format msgid "attribute(target(\"%s\")) is unknown" msgstr "" *************** msgstr "" *** 27823,27987 **** msgid "function attributes %qs and %qs have no effect on %qs function" msgstr "" ! #: config/avr/avr.c:1074 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "%qs function cannot have arguments" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: config/avr/avr.c:1077 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "%qs function cannot return a value" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае тып string" ! #: config/avr/avr.c:1084 #, gcc-internal-format ! msgid "%qs appears to be a misspelled %s handler, missing __vector prefix" msgstr "" ! #: config/avr/avr.c:1311 #, gcc-internal-format msgid "% contains only 2 bytes of address" msgstr "" ! #: config/avr/avr.c:2543 #, gcc-internal-format msgid "pointer offset from symbol maybe incorrect" msgstr "" ! #: config/avr/avr.c:2682 #, gcc-internal-format msgid "accessing data memory with program memory address" msgstr "" ! #: config/avr/avr.c:2743 #, gcc-internal-format msgid "accessing program memory with data memory address" msgstr "" ! #: config/avr/avr.c:3222 #, gcc-internal-format, gfc-internal-format msgid "fixed register %s used to pass parameter to function" msgstr "" ! #: config/avr/avr.c:3492 #, gcc-internal-format msgid "writing to address space %qs not supported" msgstr "" ! #: config/avr/avr.c:9515 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables in static storage" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.c:9522 #, fuzzy, gcc-internal-format msgid "%qE attribute only supported for reduced Tiny cores" msgstr "\"%s\" звычайна функцыÑ" ! #: config/avr/avr.c:9539 config/bfin/bfin.c:4795 config/i386/winnt.c:59 ! #: config/nvptx/nvptx.c:4301 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.c:9550 #, gcc-internal-format msgid "%qE attribute allows only an integer constant argument" msgstr "" ! #: config/avr/avr.c:9560 #, gcc-internal-format msgid "%qE attribute address out of range" msgstr "" ! #: config/avr/avr.c:9573 #, gcc-internal-format msgid "both %s and %qE attribute provide address" msgstr "" ! #: config/avr/avr.c:9583 #, fuzzy, gcc-internal-format msgid "%qE attribute on non-volatile variable" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.c:9653 #, gcc-internal-format msgid "address spaces are not supported for reduced Tiny devices" msgstr "" ! #: config/avr/avr.c:9660 #, gcc-internal-format msgid "address space %qs not supported for devices with flash size up to %d KiB" msgstr "" ! #: config/avr/avr.c:9831 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %qT" msgstr "" ! #: config/avr/avr.c:9834 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %s %q+D" msgstr "" ! #: config/avr/avr.c:9880 #, gcc-internal-format msgid "variable %q+D must be const in order to be put into read-only section by means of %qs" msgstr "" ! #: config/avr/avr.c:9919 #, gcc-internal-format msgid "static IO declaration for %q+D needs an address" msgstr "" ! #: config/avr/avr.c:9951 #, gcc-internal-format msgid "IO definition for %q+D needs an address" msgstr "" ! #: config/avr/avr.c:10058 #, gcc-internal-format msgid "only uninitialized variables can be placed in the .noinit section" msgstr "" ! #: config/avr/avr.c:10138 #, gcc-internal-format msgid "uninitialized variable %q+D put into program memory area" msgstr "" ! #: config/avr/avr.c:10224 #, gcc-internal-format msgid "%q+D has incompatible attributes %qs and %qs" msgstr "" ! #: config/avr/avr.c:10287 #, gcc-internal-format msgid "architecture %qs supported for assembler only" msgstr "" ! #: config/avr/avr.c:12823 #, gcc-internal-format msgid "conversion from address space %qs to address space %qs" msgstr "" ! #: config/avr/avr.c:13916 config/avr/avr.c:13929 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time integer constant" msgstr "" ! #: config/avr/avr.c:13943 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time long integer constant as first argument" msgstr "" ! #: config/avr/avr.c:13971 #, gcc-internal-format, gfc-internal-format msgid "rounding to %d bits has no effect for fixed-point value with %d fractional bits" msgstr "" ! #: config/avr/avr.c:13980 #, gcc-internal-format msgid "rounding result will always be 0" msgstr "" --- 27859,28034 ---- msgid "function attributes %qs and %qs have no effect on %qs function" msgstr "" ! #: config/avr/avr.c:1068 #, fuzzy, gcc-internal-format #| msgid "virtual functions cannot be friends" msgid "%qs function cannot have arguments" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: config/avr/avr.c:1071 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "%qs function cannot return a value" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае тып string" ! #: config/avr/avr.c:1085 #, gcc-internal-format ! msgid "%qs appears to be a misspelled %qs handler, missing %<__vector%> prefix" msgstr "" ! #: config/avr/avr.c:1098 ! #, gcc-internal-format ! msgid "%qs is a reserved indentifier in AVR-LibC. Consider %<#include %> before using the %qs macro" ! msgstr "" ! ! #: config/avr/avr.c:1327 #, gcc-internal-format msgid "% contains only 2 bytes of address" msgstr "" ! #: config/avr/avr.c:2559 #, gcc-internal-format msgid "pointer offset from symbol maybe incorrect" msgstr "" ! #: config/avr/avr.c:2698 #, gcc-internal-format msgid "accessing data memory with program memory address" msgstr "" ! #: config/avr/avr.c:2759 #, gcc-internal-format msgid "accessing program memory with data memory address" msgstr "" ! #: config/avr/avr.c:3238 #, gcc-internal-format, gfc-internal-format msgid "fixed register %s used to pass parameter to function" msgstr "" ! #: config/avr/avr.c:3508 #, gcc-internal-format msgid "writing to address space %qs not supported" msgstr "" ! #: config/avr/avr.c:9530 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables in static storage" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.c:9537 #, fuzzy, gcc-internal-format msgid "%qE attribute only supported for reduced Tiny cores" msgstr "\"%s\" звычайна функцыÑ" ! #: config/avr/avr.c:9554 config/bfin/bfin.c:4795 config/i386/winnt.c:59 ! #: config/nvptx/nvptx.c:4317 #, fuzzy, gcc-internal-format msgid "%qE attribute only applies to variables" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.c:9565 #, gcc-internal-format msgid "%qE attribute allows only an integer constant argument" msgstr "" ! #: config/avr/avr.c:9575 #, gcc-internal-format msgid "%qE attribute address out of range" msgstr "" ! #: config/avr/avr.c:9588 #, gcc-internal-format msgid "both %s and %qE attribute provide address" msgstr "" ! #: config/avr/avr.c:9598 #, fuzzy, gcc-internal-format msgid "%qE attribute on non-volatile variable" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/avr/avr.c:9668 #, gcc-internal-format msgid "address spaces are not supported for reduced Tiny devices" msgstr "" ! #: config/avr/avr.c:9675 #, gcc-internal-format msgid "address space %qs not supported for devices with flash size up to %d KiB" msgstr "" ! #: config/avr/avr.c:9846 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %qT" msgstr "" ! #: config/avr/avr.c:9849 #, gcc-internal-format msgid "pointer targeting address space %qs must be const in %s %q+D" msgstr "" ! #: config/avr/avr.c:9895 #, gcc-internal-format msgid "variable %q+D must be const in order to be put into read-only section by means of %qs" msgstr "" ! #: config/avr/avr.c:9934 #, gcc-internal-format msgid "static IO declaration for %q+D needs an address" msgstr "" ! #: config/avr/avr.c:9966 #, gcc-internal-format msgid "IO definition for %q+D needs an address" msgstr "" ! #: config/avr/avr.c:10073 #, gcc-internal-format msgid "only uninitialized variables can be placed in the .noinit section" msgstr "" ! #. This might happen with C++ if stuff needs constructing. ! #: config/avr/avr.c:10149 ! #, gcc-internal-format ! msgid "variable %q+D with dynamic initialization put into program memory area" ! msgstr "" ! ! #: config/avr/avr.c:10160 #, gcc-internal-format msgid "uninitialized variable %q+D put into program memory area" msgstr "" ! #: config/avr/avr.c:10247 #, gcc-internal-format msgid "%q+D has incompatible attributes %qs and %qs" msgstr "" ! #: config/avr/avr.c:10310 #, gcc-internal-format msgid "architecture %qs supported for assembler only" msgstr "" ! #: config/avr/avr.c:12872 #, gcc-internal-format msgid "conversion from address space %qs to address space %qs" msgstr "" ! #: config/avr/avr.c:13965 config/avr/avr.c:13978 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time integer constant" msgstr "" ! #: config/avr/avr.c:13992 #, gcc-internal-format, gfc-internal-format msgid "%s expects a compile time long integer constant as first argument" msgstr "" ! #: config/avr/avr.c:14020 #, gcc-internal-format, gfc-internal-format msgid "rounding to %d bits has no effect for fixed-point value with %d fractional bits" msgstr "" ! #: config/avr/avr.c:14029 #, gcc-internal-format msgid "rounding result will always be 0" msgstr "" *************** msgstr "" *** 28267,28278 **** msgid "invalid IACC argument" msgstr "нерÑчаіÑнае значÑньне %%C" ! #: config/frv/frv.c:8708 #, gcc-internal-format msgid "%qs expects a constant argument" msgstr "" ! #: config/frv/frv.c:8713 #, gcc-internal-format msgid "constant argument out of range for %qs" msgstr "" --- 28314,28325 ---- msgid "invalid IACC argument" msgstr "нерÑчаіÑнае значÑньне %%C" ! #: config/frv/frv.c:8708 config/sparc/sparc.c:10545 #, gcc-internal-format msgid "%qs expects a constant argument" msgstr "" ! #: config/frv/frv.c:8713 config/sparc/sparc.c:10551 #, gcc-internal-format msgid "constant argument out of range for %qs" msgstr "" *************** msgstr "__buitin_saveregs не Ð¿Ð°Ð´Ñ‚Ñ *** 28452,28458 **** msgid "code model %qs not supported in x32 mode" msgstr "-pipe не падтрымліваецца" ! #: config/i386/i386.c:5372 config/i386/i386.c:5381 config/i386/i386.c:6556 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "%s does not support %s" msgid "code model %s does not support PIC mode" --- 28499,28505 ---- msgid "code model %qs not supported in x32 mode" msgstr "-pipe не падтрымліваецца" ! #: config/i386/i386.c:5372 config/i386/i386.c:5381 config/i386/i386.c:6562 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "%s does not support %s" msgid "code model %s does not support PIC mode" *************** msgstr "" *** 28584,29171 **** msgid "% is ignored in 64bit mode" msgstr "" ! #: config/i386/i386.c:5938 #, fuzzy, gcc-internal-format msgid "-mpreferred-stack-boundary is not supported for this target" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/i386/i386.c:5941 #, gcc-internal-format, gfc-internal-format msgid "-mpreferred-stack-boundary=%d is not between %d and %d" msgstr "" ! #: config/i386/i386.c:5964 #, gcc-internal-format, gfc-internal-format msgid "-mincoming-stack-boundary=%d is not between %d and 12" msgstr "" ! #: config/i386/i386.c:5977 #, fuzzy, gcc-internal-format msgid "-mnop-mcount is not compatible with this target" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/i386/i386.c:5980 #, gcc-internal-format msgid "-mnop-mcount is not implemented for -fPIC" msgstr "" ! #: config/i386/i386.c:5986 #, gcc-internal-format msgid "%<-msseregparm%> used without SSE enabled" msgstr "" ! #: config/i386/i386.c:5987 #, gcc-internal-format msgid "% used without SSE enabled" msgstr "" ! #: config/i386/i386.c:5997 #, gcc-internal-format msgid "SSE instruction set disabled, using 387 arithmetics" msgstr "" ! #: config/i386/i386.c:6004 #, gcc-internal-format msgid "387 instruction set disabled, using SSE arithmetics" msgstr "" ! #: config/i386/i386.c:6054 #, gcc-internal-format msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" msgstr "" ! #: config/i386/i386.c:6056 #, gcc-internal-format msgid "stack probing requires % for correctness" msgstr "" ! #: config/i386/i386.c:6070 #, gcc-internal-format msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" msgstr "" ! #: config/i386/i386.c:6072 #, gcc-internal-format msgid "fixed ebp register requires %" msgstr "" ! #: config/i386/i386.c:6178 #, gcc-internal-format msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic" msgstr "" ! #: config/i386/i386.c:6185 #, gcc-internal-format msgid "-mno-fentry isn%'t compatible with SEH" msgstr "" ! #: config/i386/i386.c:6252 config/rs6000/rs6000.c:5475 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown option for -mrecip=%s" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s\n" ! #: config/i386/i386.c:6866 #, gcc-internal-format, gfc-internal-format msgid "option(\"%s\") was already specified" msgstr "" ! #: config/i386/i386.c:7168 #, gcc-internal-format msgid "Only DWARF debug format is supported for interrupt service routine." msgstr "" ! #: config/i386/i386.c:7267 #, gcc-internal-format, gfc-internal-format msgid "%s instructions aren't allowed in %s service routine" msgstr "" ! #: config/i386/i386.c:7271 #, gcc-internal-format, gfc-internal-format msgid "%s instructions aren't allowed in function with no_caller_saved_registers attribute" msgstr "" ! #: config/i386/i386.c:7683 config/i386/i386.c:7734 #, gcc-internal-format msgid "fastcall and regparm attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7688 #, gcc-internal-format msgid "regparam and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7695 config/i386/i386.c:41349 #, gcc-internal-format msgid "%qE attribute requires an integer constant argument" msgstr "" ! #: config/i386/i386.c:7701 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute larger than %d" msgstr "памер \"%s\" больш чам %d байт" ! #: config/i386/i386.c:7726 config/i386/i386.c:7769 #, gcc-internal-format msgid "fastcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7730 #, gcc-internal-format msgid "fastcall and stdcall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7738 config/i386/i386.c:7787 #, gcc-internal-format msgid "fastcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7748 config/i386/i386.c:7765 #, gcc-internal-format msgid "stdcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7752 #, gcc-internal-format msgid "stdcall and fastcall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7756 config/i386/i386.c:7783 #, gcc-internal-format msgid "stdcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7773 config/i386/i386.c:7791 #, gcc-internal-format msgid "cdecl and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7779 #, gcc-internal-format msgid "%qE attribute is used for non-class method" msgstr "" ! #: config/i386/i386.c:8023 #, gcc-internal-format msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" msgstr "" ! #: config/i386/i386.c:8026 #, gcc-internal-format msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" msgstr "" ! #: config/i386/i386.c:8342 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "X32 does not support ms_abi attribute" msgstr "%s не падтрымлівае %s" ! #: config/i386/i386.c:8374 #, gcc-internal-format msgid "ms_hook_prologue is not compatible with nested function" msgstr "" ! #: config/i386/i386.c:8687 #, gcc-internal-format msgid "AVX512F vector argument without AVX512F enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8693 #, gcc-internal-format msgid "AVX512F vector return without AVX512F enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8707 #, gcc-internal-format msgid "AVX vector argument without AVX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8713 #, gcc-internal-format msgid "AVX vector return without AVX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8729 #, gcc-internal-format msgid "SSE vector argument without SSE enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8735 #, gcc-internal-format msgid "SSE vector return without SSE enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8751 #, gcc-internal-format msgid "MMX vector argument without MMX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8757 #, gcc-internal-format msgid "MMX vector return without MMX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8939 #, gcc-internal-format msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" msgstr "" ! #: config/i386/i386.c:9056 #, gcc-internal-format msgid "the ABI of passing union with long double has changed in GCC 4.4" msgstr "" ! #: config/i386/i386.c:9174 #, gcc-internal-format msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" msgstr "" ! #: config/i386/i386.c:9337 #, gcc-internal-format msgid "SSE register return with SSE disabled" msgstr "" ! #: config/i386/i386.c:9343 #, gcc-internal-format msgid "SSE register argument with SSE disabled" msgstr "" ! #: config/i386/i386.c:9359 #, gcc-internal-format msgid "x87 register return with x87 disabled" msgstr "" ! #: config/i386/i386.c:9655 config/i386/i386.c:9926 config/i386/i386.c:10449 #, gcc-internal-format msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" msgstr "" ! #: config/i386/i386.c:9657 config/i386/i386.c:9928 config/i386/i386.c:10451 #, gcc-internal-format msgid "this is a GCC bug that can be worked around by adding attribute used to function called" msgstr "" ! #: config/i386/i386.c:10351 #, gcc-internal-format, gfc-internal-format msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" msgstr "" ! #: config/i386/i386.c:13734 #, gcc-internal-format msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit" msgstr "" ! #: config/i386/i386.c:13824 #, gcc-internal-format msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." msgstr "" ! #: config/i386/i386.c:14836 #, gcc-internal-format msgid "-fsplit-stack does not support fastcall with nested function" msgstr "" ! #: config/i386/i386.c:14856 #, gcc-internal-format msgid "-fsplit-stack does not support 2 register parameters for a nested function" msgstr "" #. FIXME: We could make this work by pushing a register #. around the addition and comparison. ! #: config/i386/i386.c:14867 #, gcc-internal-format msgid "-fsplit-stack does not support 3 register parameters" msgstr "" ! #: config/i386/i386.c:17672 config/i386/i386.c:17686 #, gcc-internal-format msgid "unsupported size for integer register" msgstr "" ! #: config/i386/i386.c:17718 #, gcc-internal-format msgid "extended registers have no high halves" msgstr "" ! #: config/i386/i386.c:17733 #, gcc-internal-format msgid "unsupported operand size for extended register" msgstr "" ! #: config/i386/i386.c:17924 #, gcc-internal-format msgid "non-integer operand used with operand code 'z'" msgstr "" ! #: config/i386/i386.c:28283 #, gcc-internal-format msgid "interrupt service routine can't be called directly" msgstr "" ! #: config/i386/i386.c:32550 #, gcc-internal-format msgid "No dispatcher found for the versioning attributes" msgstr "" ! #: config/i386/i386.c:32600 #, gcc-internal-format, gfc-internal-format msgid "No dispatcher found for %s" msgstr "" ! #: config/i386/i386.c:32610 #, gcc-internal-format, gfc-internal-format msgid "No dispatcher found for the versioning attributes : %s" msgstr "" ! #: config/i386/i386.c:32858 #, gcc-internal-format msgid "Function versions cannot be marked as gnu_inline, bodies have to be generated" msgstr "" ! #: config/i386/i386.c:32863 config/i386/i386.c:33291 #, gcc-internal-format msgid "Virtual function multiversioning not supported" msgstr "" ! #: config/i386/i386.c:32926 #, gcc-internal-format msgid "missing % attribute for multi-versioned %D" msgstr "" ! #: config/i386/i386.c:32929 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%D'" msgid "previous declaration of %D" msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%D'" ! #: config/i386/i386.c:33148 #, fuzzy, gcc-internal-format msgid "multiversioning needs ifunc which is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/i386/i386.c:33540 #, fuzzy, gcc-internal-format msgid "Parameter to builtin must be a string constant or literal" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/i386/i386.c:33565 config/i386/i386.c:33615 #, gcc-internal-format, gfc-internal-format msgid "Parameter to builtin not valid: %s" msgstr "" ! #: config/i386/i386.c:34294 config/i386/i386.c:35692 #, fuzzy, gcc-internal-format msgid "the last argument must be a 2-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:34689 #, fuzzy, gcc-internal-format msgid "the fifth argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:34784 #, fuzzy, gcc-internal-format msgid "the third argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35623 #, fuzzy, gcc-internal-format msgid "the last argument must be an 1-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35638 #, fuzzy, gcc-internal-format msgid "the last argument must be a 3-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35671 #, fuzzy, gcc-internal-format msgid "the last argument must be a 4-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35711 #, fuzzy, gcc-internal-format msgid "the last argument must be a 1-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35724 #, fuzzy, gcc-internal-format msgid "the last argument must be a 5-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35734 #, gcc-internal-format msgid "the next to last argument must be an 8-bit immediate" msgstr "" ! #: config/i386/i386.c:35739 config/i386/i386.c:36529 #, fuzzy, gcc-internal-format msgid "the last argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35907 #, fuzzy, gcc-internal-format msgid "the third argument must be comparison constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/i386/i386.c:35912 #, gcc-internal-format msgid "incorrect comparison mode" msgstr "" ! #: config/i386/i386.c:35918 config/i386/i386.c:36119 #, gcc-internal-format msgid "incorrect rounding operand" msgstr "" ! #: config/i386/i386.c:36101 #, fuzzy, gcc-internal-format msgid "the immediate argument must be a 4-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:36107 #, fuzzy, gcc-internal-format msgid "the immediate argument must be a 5-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:36110 #, gcc-internal-format msgid "the immediate argument must be an 8-bit immediate" msgstr "" ! #: config/i386/i386.c:36527 #, fuzzy, gcc-internal-format msgid "the last argument must be a 32-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:36609 config/rs6000/rs6000.c:15973 #, gcc-internal-format msgid "selector must be an integer constant in the range 0..%wi" msgstr "" ! #: config/i386/i386.c:36814 #, gcc-internal-format msgid "%qE needs unknown isa option" msgstr "" ! #: config/i386/i386.c:36818 #, fuzzy, gcc-internal-format msgid "%qE needs isa option %s" msgstr "ÐерÑчаіÑны выбар %s" ! #: config/i386/i386.c:37566 #, fuzzy, gcc-internal-format msgid "last argument must be an immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:38270 config/i386/i386.c:38452 #, gcc-internal-format msgid "the last argument must be scale 1, 2, 4, 8" msgstr "" ! #: config/i386/i386.c:38505 #, gcc-internal-format msgid "the forth argument must be scale 1, 2, 4, 8" msgstr "" ! #: config/i386/i386.c:38511 #, gcc-internal-format msgid "incorrect hint operand" msgstr "" ! #: config/i386/i386.c:38530 #, fuzzy, gcc-internal-format msgid "the xabort's argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:41336 #, fuzzy, gcc-internal-format msgid "%qE attribute only available for 32-bit" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386.c:41357 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute is neither zero, nor one" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/i386/i386.c:41390 config/i386/i386.c:41399 #, gcc-internal-format msgid "ms_abi and sysv_abi attributes are not compatible" msgstr "" ! #: config/i386/i386.c:41435 config/rs6000/rs6000.c:35378 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qE incompatible attribute ignored" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386.c:41479 #, gcc-internal-format msgid "interrupt service routine should have a pointer as the first argument" msgstr "" ! #: config/i386/i386.c:41486 #, gcc-internal-format, gfc-internal-format msgid "interrupt service routine should have unsigned %sint as the second argument" msgstr "" ! #: config/i386/i386.c:41496 #, gcc-internal-format msgid "interrupt service routine can only have a pointer argument and an optional integer argument" msgstr "" ! #: config/i386/i386.c:41499 #, gcc-internal-format msgid "interrupt service routine can't have non-void return value" msgstr "" ! #: config/i386/i386.c:44401 #, gcc-internal-format msgid "alternatives not allowed in asm flag output" msgstr "" ! #: config/i386/i386.c:44465 #, gcc-internal-format msgid "unknown asm flag output %qs" msgstr "" ! #: config/i386/i386.c:44494 #, gcc-internal-format msgid "invalid type for asm flag output" msgstr "" ! #: config/i386/i386.c:50765 #, gcc-internal-format msgid "Unknown architecture specific memory model" msgstr "" ! #: config/i386/i386.c:50772 #, gcc-internal-format msgid "HLE_ACQUIRE not used with ACQUIRE or stronger memory model" msgstr "" ! #: config/i386/i386.c:50778 #, gcc-internal-format msgid "HLE_RELEASE not used with RELEASE or stronger memory model" msgstr "" ! #: config/i386/i386.c:50802 config/i386/i386.c:50923 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unsupported version" msgid "unsupported simdlen %d" msgstr "Ð½ÐµÐ¿Ð°Ð´Ñ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ" ! #: config/i386/i386.c:50821 #, gcc-internal-format msgid "unsupported return type %qT for simd\n" msgstr "" ! #: config/i386/i386.c:50843 #, gcc-internal-format msgid "unsupported argument type %qT for simd\n" msgstr "" ! #: config/i386/i386.c:51169 #, gcc-internal-format msgid "Pointer Checker requires MPX support on this target. Use -mmpx options to enable MPX." msgstr "" --- 28631,29218 ---- msgid "% is ignored in 64bit mode" msgstr "" ! #: config/i386/i386.c:5944 #, fuzzy, gcc-internal-format msgid "-mpreferred-stack-boundary is not supported for this target" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/i386/i386.c:5947 #, gcc-internal-format, gfc-internal-format msgid "-mpreferred-stack-boundary=%d is not between %d and %d" msgstr "" ! #: config/i386/i386.c:5970 #, gcc-internal-format, gfc-internal-format msgid "-mincoming-stack-boundary=%d is not between %d and 12" msgstr "" ! #: config/i386/i386.c:5983 #, fuzzy, gcc-internal-format msgid "-mnop-mcount is not compatible with this target" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/i386/i386.c:5986 #, gcc-internal-format msgid "-mnop-mcount is not implemented for -fPIC" msgstr "" ! #: config/i386/i386.c:5992 #, gcc-internal-format msgid "%<-msseregparm%> used without SSE enabled" msgstr "" ! #: config/i386/i386.c:5993 #, gcc-internal-format msgid "% used without SSE enabled" msgstr "" ! #: config/i386/i386.c:6003 #, gcc-internal-format msgid "SSE instruction set disabled, using 387 arithmetics" msgstr "" ! #: config/i386/i386.c:6010 #, gcc-internal-format msgid "387 instruction set disabled, using SSE arithmetics" msgstr "" ! #: config/i386/i386.c:6060 #, gcc-internal-format msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" msgstr "" ! #: config/i386/i386.c:6062 #, gcc-internal-format msgid "stack probing requires % for correctness" msgstr "" ! #: config/i386/i386.c:6076 #, gcc-internal-format msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" msgstr "" ! #: config/i386/i386.c:6078 #, gcc-internal-format msgid "fixed ebp register requires %" msgstr "" ! #: config/i386/i386.c:6184 #, gcc-internal-format msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic" msgstr "" ! #: config/i386/i386.c:6191 #, gcc-internal-format msgid "-mno-fentry isn%'t compatible with SEH" msgstr "" ! #: config/i386/i386.c:6258 config/rs6000/rs6000.c:5477 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "unknown option for -mrecip=%s" msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s\n" ! #: config/i386/i386.c:6872 #, gcc-internal-format, gfc-internal-format msgid "option(\"%s\") was already specified" msgstr "" ! #: config/i386/i386.c:7174 #, gcc-internal-format msgid "Only DWARF debug format is supported for interrupt service routine." msgstr "" ! #: config/i386/i386.c:7273 #, gcc-internal-format, gfc-internal-format msgid "%s instructions aren't allowed in %s service routine" msgstr "" ! #: config/i386/i386.c:7277 #, gcc-internal-format, gfc-internal-format msgid "%s instructions aren't allowed in function with no_caller_saved_registers attribute" msgstr "" ! #: config/i386/i386.c:7689 config/i386/i386.c:7740 #, gcc-internal-format msgid "fastcall and regparm attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7694 #, gcc-internal-format msgid "regparam and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7701 config/i386/i386.c:41390 #, gcc-internal-format msgid "%qE attribute requires an integer constant argument" msgstr "" ! #: config/i386/i386.c:7707 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute larger than %d" msgstr "памер \"%s\" больш чам %d байт" ! #: config/i386/i386.c:7732 config/i386/i386.c:7775 #, gcc-internal-format msgid "fastcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7736 #, gcc-internal-format msgid "fastcall and stdcall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7744 config/i386/i386.c:7793 #, gcc-internal-format msgid "fastcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7754 config/i386/i386.c:7771 #, gcc-internal-format msgid "stdcall and cdecl attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7758 #, gcc-internal-format msgid "stdcall and fastcall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7762 config/i386/i386.c:7789 #, gcc-internal-format msgid "stdcall and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7779 config/i386/i386.c:7797 #, gcc-internal-format msgid "cdecl and thiscall attributes are not compatible" msgstr "" ! #: config/i386/i386.c:7785 #, gcc-internal-format msgid "%qE attribute is used for non-class method" msgstr "" ! #: config/i386/i386.c:8029 #, gcc-internal-format msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" msgstr "" ! #: config/i386/i386.c:8032 #, gcc-internal-format msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" msgstr "" ! #: config/i386/i386.c:8348 #, fuzzy, gcc-internal-format #| msgid "%s does not support %s" msgid "X32 does not support ms_abi attribute" msgstr "%s не падтрымлівае %s" ! #: config/i386/i386.c:8380 #, gcc-internal-format msgid "ms_hook_prologue is not compatible with nested function" msgstr "" ! #: config/i386/i386.c:8693 #, gcc-internal-format msgid "AVX512F vector argument without AVX512F enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8699 #, gcc-internal-format msgid "AVX512F vector return without AVX512F enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8713 #, gcc-internal-format msgid "AVX vector argument without AVX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8719 #, gcc-internal-format msgid "AVX vector return without AVX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8735 #, gcc-internal-format msgid "SSE vector argument without SSE enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8741 #, gcc-internal-format msgid "SSE vector return without SSE enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8757 #, gcc-internal-format msgid "MMX vector argument without MMX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8763 #, gcc-internal-format msgid "MMX vector return without MMX enabled changes the ABI" msgstr "" ! #: config/i386/i386.c:8945 #, gcc-internal-format msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" msgstr "" ! #: config/i386/i386.c:9062 #, gcc-internal-format msgid "the ABI of passing union with long double has changed in GCC 4.4" msgstr "" ! #: config/i386/i386.c:9180 #, gcc-internal-format msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" msgstr "" ! #: config/i386/i386.c:9343 #, gcc-internal-format msgid "SSE register return with SSE disabled" msgstr "" ! #: config/i386/i386.c:9349 #, gcc-internal-format msgid "SSE register argument with SSE disabled" msgstr "" ! #: config/i386/i386.c:9365 #, gcc-internal-format msgid "x87 register return with x87 disabled" msgstr "" ! #: config/i386/i386.c:9661 config/i386/i386.c:9932 config/i386/i386.c:10455 #, gcc-internal-format msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" msgstr "" ! #: config/i386/i386.c:9663 config/i386/i386.c:9934 config/i386/i386.c:10457 #, gcc-internal-format msgid "this is a GCC bug that can be worked around by adding attribute used to function called" msgstr "" ! #: config/i386/i386.c:10357 #, gcc-internal-format, gfc-internal-format msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" msgstr "" ! #: config/i386/i386.c:13740 #, gcc-internal-format msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit" msgstr "" ! #: config/i386/i386.c:13830 #, gcc-internal-format msgid "Dynamic Realign Argument Pointer (DRAP) not supported in interrupt service routine. This may be worked around by avoiding functions with aggregate return." msgstr "" ! #: config/i386/i386.c:14842 #, gcc-internal-format msgid "-fsplit-stack does not support fastcall with nested function" msgstr "" ! #: config/i386/i386.c:14862 #, gcc-internal-format msgid "-fsplit-stack does not support 2 register parameters for a nested function" msgstr "" #. FIXME: We could make this work by pushing a register #. around the addition and comparison. ! #: config/i386/i386.c:14873 #, gcc-internal-format msgid "-fsplit-stack does not support 3 register parameters" msgstr "" ! #: config/i386/i386.c:17678 config/i386/i386.c:17692 #, gcc-internal-format msgid "unsupported size for integer register" msgstr "" ! #: config/i386/i386.c:17724 #, gcc-internal-format msgid "extended registers have no high halves" msgstr "" ! #: config/i386/i386.c:17739 #, gcc-internal-format msgid "unsupported operand size for extended register" msgstr "" ! #: config/i386/i386.c:17930 #, gcc-internal-format msgid "non-integer operand used with operand code 'z'" msgstr "" ! #: config/i386/i386.c:28289 #, gcc-internal-format msgid "interrupt service routine can't be called directly" msgstr "" ! #: config/i386/i386.c:32591 #, gcc-internal-format msgid "No dispatcher found for the versioning attributes" msgstr "" ! #: config/i386/i386.c:32641 #, gcc-internal-format, gfc-internal-format msgid "No dispatcher found for %s" msgstr "" ! #: config/i386/i386.c:32651 #, gcc-internal-format, gfc-internal-format msgid "No dispatcher found for the versioning attributes : %s" msgstr "" ! #: config/i386/i386.c:32899 #, gcc-internal-format msgid "Function versions cannot be marked as gnu_inline, bodies have to be generated" msgstr "" ! #: config/i386/i386.c:32904 config/i386/i386.c:33332 #, gcc-internal-format msgid "Virtual function multiversioning not supported" msgstr "" ! #: config/i386/i386.c:32967 #, gcc-internal-format msgid "missing % attribute for multi-versioned %D" msgstr "" ! #: config/i386/i386.c:32970 #, fuzzy, gcc-internal-format #| msgid "previous declaration of `%D'" msgid "previous declaration of %D" msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%D'" ! #: config/i386/i386.c:33189 #, fuzzy, gcc-internal-format msgid "multiversioning needs ifunc which is not supported on this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/i386/i386.c:33581 #, fuzzy, gcc-internal-format msgid "Parameter to builtin must be a string constant or literal" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/i386/i386.c:33606 config/i386/i386.c:33656 #, gcc-internal-format, gfc-internal-format msgid "Parameter to builtin not valid: %s" msgstr "" ! #: config/i386/i386.c:34335 config/i386/i386.c:35733 #, fuzzy, gcc-internal-format msgid "the last argument must be a 2-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:34730 #, fuzzy, gcc-internal-format msgid "the fifth argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:34825 #, fuzzy, gcc-internal-format msgid "the third argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35664 #, fuzzy, gcc-internal-format msgid "the last argument must be an 1-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35679 #, fuzzy, gcc-internal-format msgid "the last argument must be a 3-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35712 #, fuzzy, gcc-internal-format msgid "the last argument must be a 4-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35752 #, fuzzy, gcc-internal-format msgid "the last argument must be a 1-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35765 #, fuzzy, gcc-internal-format msgid "the last argument must be a 5-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35775 #, gcc-internal-format msgid "the next to last argument must be an 8-bit immediate" msgstr "" ! #: config/i386/i386.c:35780 config/i386/i386.c:36570 #, fuzzy, gcc-internal-format msgid "the last argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:35948 #, fuzzy, gcc-internal-format msgid "the third argument must be comparison constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/i386/i386.c:35953 #, gcc-internal-format msgid "incorrect comparison mode" msgstr "" ! #: config/i386/i386.c:35959 config/i386/i386.c:36160 #, gcc-internal-format msgid "incorrect rounding operand" msgstr "" ! #: config/i386/i386.c:36142 #, fuzzy, gcc-internal-format msgid "the immediate argument must be a 4-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:36148 #, fuzzy, gcc-internal-format msgid "the immediate argument must be a 5-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:36151 #, gcc-internal-format msgid "the immediate argument must be an 8-bit immediate" msgstr "" ! #: config/i386/i386.c:36568 #, fuzzy, gcc-internal-format msgid "the last argument must be a 32-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:36650 config/rs6000/rs6000.c:16009 #, gcc-internal-format msgid "selector must be an integer constant in the range 0..%wi" msgstr "" ! #: config/i386/i386.c:36855 #, gcc-internal-format msgid "%qE needs unknown isa option" msgstr "" ! #: config/i386/i386.c:36859 #, fuzzy, gcc-internal-format msgid "%qE needs isa option %s" msgstr "ÐерÑчаіÑны выбар %s" ! #: config/i386/i386.c:37607 #, fuzzy, gcc-internal-format msgid "last argument must be an immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:38311 config/i386/i386.c:38493 #, gcc-internal-format msgid "the last argument must be scale 1, 2, 4, 8" msgstr "" ! #: config/i386/i386.c:38546 #, gcc-internal-format msgid "the forth argument must be scale 1, 2, 4, 8" msgstr "" ! #: config/i386/i386.c:38552 #, gcc-internal-format msgid "incorrect hint operand" msgstr "" ! #: config/i386/i386.c:38571 #, fuzzy, gcc-internal-format msgid "the xabort's argument must be an 8-bit immediate" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/i386/i386.c:41377 #, fuzzy, gcc-internal-format msgid "%qE attribute only available for 32-bit" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386.c:41398 #, fuzzy, gcc-internal-format msgid "argument to %qE attribute is neither zero, nor one" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/i386/i386.c:41431 config/i386/i386.c:41440 #, gcc-internal-format msgid "ms_abi and sysv_abi attributes are not compatible" msgstr "" ! #: config/i386/i386.c:41476 config/rs6000/rs6000.c:35427 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qE incompatible attribute ignored" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: config/i386/i386.c:41520 #, gcc-internal-format msgid "interrupt service routine should have a pointer as the first argument" msgstr "" ! #: config/i386/i386.c:41527 #, gcc-internal-format, gfc-internal-format msgid "interrupt service routine should have unsigned %sint as the second argument" msgstr "" ! #: config/i386/i386.c:41537 #, gcc-internal-format msgid "interrupt service routine can only have a pointer argument and an optional integer argument" msgstr "" ! #: config/i386/i386.c:41540 #, gcc-internal-format msgid "interrupt service routine can't have non-void return value" msgstr "" ! #: config/i386/i386.c:44442 #, gcc-internal-format msgid "alternatives not allowed in asm flag output" msgstr "" ! #: config/i386/i386.c:44506 #, gcc-internal-format msgid "unknown asm flag output %qs" msgstr "" ! #: config/i386/i386.c:44535 #, gcc-internal-format msgid "invalid type for asm flag output" msgstr "" ! #: config/i386/i386.c:50806 #, gcc-internal-format msgid "Unknown architecture specific memory model" msgstr "" ! #: config/i386/i386.c:50813 #, gcc-internal-format msgid "HLE_ACQUIRE not used with ACQUIRE or stronger memory model" msgstr "" ! #: config/i386/i386.c:50819 #, gcc-internal-format msgid "HLE_RELEASE not used with RELEASE or stronger memory model" msgstr "" ! #: config/i386/i386.c:50843 config/i386/i386.c:50964 #, fuzzy, gcc-internal-format, gfc-internal-format #| msgid "unsupported version" msgid "unsupported simdlen %d" msgstr "Ð½ÐµÐ¿Ð°Ð´Ñ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ" ! #: config/i386/i386.c:50862 #, gcc-internal-format msgid "unsupported return type %qT for simd\n" msgstr "" ! #: config/i386/i386.c:50884 #, gcc-internal-format msgid "unsupported argument type %qT for simd\n" msgstr "" ! #: config/i386/i386.c:51210 #, gcc-internal-format msgid "Pointer Checker requires MPX support on this target. Use -mmpx options to enable MPX." msgstr "" *************** msgstr "" *** 29289,29295 **** msgid "argument %qd is not a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/iq2000/iq2000.c:2912 config/xtensa/xtensa.c:2455 #, gcc-internal-format msgid "PRINT_OPERAND_ADDRESS, null pointer" msgstr "" --- 29336,29342 ---- msgid "argument %qd is not a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/iq2000/iq2000.c:2912 config/xtensa/xtensa.c:2456 #, gcc-internal-format msgid "PRINT_OPERAND_ADDRESS, null pointer" msgstr "" *************** msgstr "" *** 29299,29305 **** msgid "PRINT_OPERAND: Unknown punctuation '%c'" msgstr "" ! #: config/iq2000/iq2000.c:3076 config/xtensa/xtensa.c:2299 #, gcc-internal-format msgid "PRINT_OPERAND null pointer" msgstr "" --- 29346,29352 ---- msgid "PRINT_OPERAND: Unknown punctuation '%c'" msgstr "" ! #: config/iq2000/iq2000.c:3076 config/xtensa/xtensa.c:2300 #, gcc-internal-format msgid "PRINT_OPERAND null pointer" msgstr "" *************** msgstr "" *** 29404,29410 **** msgid "interrupt_thread is available only on fido" msgstr "" ! #: config/m68k/m68k.c:1108 config/rs6000/rs6000.c:28119 #, gcc-internal-format msgid "stack limit expression is not supported" msgstr "" --- 29451,29457 ---- msgid "interrupt_thread is available only on fido" msgstr "" ! #: config/m68k/m68k.c:1108 config/rs6000/rs6000.c:28168 #, gcc-internal-format msgid "stack limit expression is not supported" msgstr "" *************** msgstr "" *** 29914,29921 **** msgid "MSP430 builtin functions only work inside interrupt handlers" msgstr "" ! #: config/msp430/msp430.c:2606 config/rx/rx.c:2635 config/xtensa/xtensa.c:3375 ! #: config/xtensa/xtensa.c:3401 #, gcc-internal-format msgid "bad builtin code" msgstr "" --- 29961,29968 ---- msgid "MSP430 builtin functions only work inside interrupt handlers" msgstr "" ! #: config/msp430/msp430.c:2606 config/rx/rx.c:2635 config/xtensa/xtensa.c:3376 ! #: config/xtensa/xtensa.c:3402 #, gcc-internal-format msgid "bad builtin code" msgstr "" *************** msgstr "" *** 30168,30194 **** msgid "PTX does not support weak declarations (only weak definitions)" msgstr "" ! #: config/nvptx/nvptx.c:4283 #, gcc-internal-format msgid "%qE attribute requires a void return type" msgstr "" ! #: config/nvptx/nvptx.c:4306 #, gcc-internal-format msgid "%qE attribute not allowed with auto storage class" msgstr "" ! #: config/nvptx/nvptx.c:4674 #, gcc-internal-format, gfc-internal-format msgid "using vector_length (%d), ignoring %d" msgstr "" ! #: config/nvptx/nvptx.c:4675 #, gcc-internal-format, gfc-internal-format msgid "using vector_length (%d), ignoring runtime setting" msgstr "" ! #: config/nvptx/nvptx.c:4685 #, gcc-internal-format, gfc-internal-format msgid "using num_workers (%d), ignoring %d" msgstr "" --- 30215,30241 ---- msgid "PTX does not support weak declarations (only weak definitions)" msgstr "" ! #: config/nvptx/nvptx.c:4299 #, gcc-internal-format msgid "%qE attribute requires a void return type" msgstr "" ! #: config/nvptx/nvptx.c:4322 #, gcc-internal-format msgid "%qE attribute not allowed with auto storage class" msgstr "" ! #: config/nvptx/nvptx.c:4690 #, gcc-internal-format, gfc-internal-format msgid "using vector_length (%d), ignoring %d" msgstr "" ! #: config/nvptx/nvptx.c:4691 #, gcc-internal-format, gfc-internal-format msgid "using vector_length (%d), ignoring runtime setting" msgstr "" ! #: config/nvptx/nvptx.c:4701 #, gcc-internal-format, gfc-internal-format msgid "using num_workers (%d), ignoring %d" msgstr "" *************** msgstr "" *** 30213,30219 **** msgid "-g option disabled" msgstr "" ! #: config/pa/pa.c:8769 #, gcc-internal-format, gfc-internal-format msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u" msgstr "" --- 30260,30266 ---- msgid "-g option disabled" msgstr "" ! #: config/pa/pa.c:8793 #, gcc-internal-format, gfc-internal-format msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u" msgstr "" *************** msgstr "" *** 30351,30575 **** msgid "junk at end of #pragma longcall" msgstr "" ! #: config/rs6000/rs6000-c.c:5575 #, gcc-internal-format msgid "vec_lvsl is deprecated for little endian; use assignment for unaligned loads and stores" msgstr "" ! #: config/rs6000/rs6000-c.c:5579 #, gcc-internal-format msgid "vec_lvsr is deprecated for little endian; use assignment for unaligned loads and stores" msgstr "" ! #: config/rs6000/rs6000-c.c:5589 #, gcc-internal-format msgid "vec_mul only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5640 #, gcc-internal-format msgid "vec_cmpne only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5710 #, gcc-internal-format msgid "vec_adde only accepts 3 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5774 #, gcc-internal-format msgid "vec_addec only accepts 3 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5862 #, gcc-internal-format, gfc-internal-format msgid "%s only accepts %d arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5867 #, gcc-internal-format, gfc-internal-format msgid "%s only accepts 1 argument" msgstr "" ! #: config/rs6000/rs6000-c.c:5872 #, gcc-internal-format, gfc-internal-format msgid "%s only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5938 #, gcc-internal-format msgid "vec_extract only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:6107 #, gcc-internal-format msgid "vec_insert only accepts 3 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:6381 #, gcc-internal-format msgid "passing arg %d of %qE discards qualifiers from pointer target type" msgstr "" ! #: config/rs6000/rs6000-c.c:6435 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Builtin function %s not supported in this compiler configuration" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/rs6000/rs6000-c.c:6443 #, gcc-internal-format, gfc-internal-format msgid "invalid parameter combination for AltiVec intrinsic %s" msgstr "" ! #: config/rs6000/rs6000.c:3642 #, gcc-internal-format msgid "-mrecip requires -ffinite-math or -ffast-math" msgstr "" ! #: config/rs6000/rs6000.c:3644 #, gcc-internal-format msgid "-mrecip requires -fno-trapping-math or -ffast-math" msgstr "" ! #: config/rs6000/rs6000.c:3646 #, gcc-internal-format msgid "-mrecip requires -freciprocal-math or -ffast-math" msgstr "" ! #: config/rs6000/rs6000.c:3746 #, gcc-internal-format msgid "-m64 requires PowerPC64 architecture, enabling" msgstr "" ! #: config/rs6000/rs6000.c:3929 #, gcc-internal-format msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries" msgstr "" ! #: config/rs6000/rs6000.c:4021 #, gcc-internal-format msgid "will not generate power9 instructions because assembler lacks power9 support" msgstr "" ! #: config/rs6000/rs6000.c:4030 #, gcc-internal-format msgid "will not generate power8 instructions because assembler lacks power8 support" msgstr "" ! #: config/rs6000/rs6000.c:4039 #, gcc-internal-format msgid "will not generate power7 instructions because assembler lacks power7 support" msgstr "" ! #: config/rs6000/rs6000.c:4048 #, gcc-internal-format msgid "will not generate power6 instructions because assembler lacks power6 support" msgstr "" ! #: config/rs6000/rs6000.c:4057 #, gcc-internal-format msgid "will not generate power5 instructions because assembler lacks power5 support" msgstr "" ! #: config/rs6000/rs6000.c:4145 #, gcc-internal-format msgid "not configured for SPE ABI" msgstr "" ! #: config/rs6000/rs6000.c:4150 #, fuzzy, gcc-internal-format #| msgid "Do not generate char instructions" msgid "not configured for SPE instruction set" msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі" ! #: config/rs6000/rs6000.c:4156 #, gcc-internal-format msgid "target attribute or pragma changes SPE ABI" msgstr "" ! #: config/rs6000/rs6000.c:4163 #, fuzzy, gcc-internal-format msgid "AltiVec not supported in this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/rs6000/rs6000.c:4165 config/rs6000/rs6000.c:4170 #, fuzzy, gcc-internal-format msgid "SPE not supported in this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/rs6000/rs6000.c:4198 #, gcc-internal-format msgid "-mmultiple is not supported on little endian systems" msgstr "" ! #: config/rs6000/rs6000.c:4205 #, gcc-internal-format msgid "-mstring is not supported on little endian systems" msgstr "" #. Enforce that none of the ISA_3_0_MASKS_SERVER flags #. were explicitly cleared. ! #: config/rs6000/rs6000.c:4301 config/rs6000/rs6000.c:4312 #, gcc-internal-format msgid "-mpower9-minmax incompatible with explicitly disabled options" msgstr "" ! #: config/rs6000/rs6000.c:4304 #, gcc-internal-format msgid "Power9 target option is incompatible with -mcpu= for less than power9" msgstr "" ! #: config/rs6000/rs6000.c:4336 #, gcc-internal-format msgid "-mcrypto requires -maltivec" msgstr "" ! #: config/rs6000/rs6000.c:4343 #, gcc-internal-format msgid "-mdirect-move requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4350 #, gcc-internal-format msgid "-mpower8-vector requires -maltivec" msgstr "" ! #: config/rs6000/rs6000.c:4358 #, gcc-internal-format msgid "-mpower8-vector requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4377 #, gcc-internal-format msgid "-mvsx-timode requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4384 #, gcc-internal-format msgid "-mhard-dfp requires -mhard-float" msgstr "" ! #: config/rs6000/rs6000.c:4437 #, gcc-internal-format msgid "-mupper-regs-df requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4444 #, gcc-internal-format msgid "-mupper-regs-di requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4451 #, gcc-internal-format msgid "-mupper-regs-sf requires -mpower8-vector" msgstr "" ! #: config/rs6000/rs6000.c:4500 #, gcc-internal-format msgid "-mpower8-fusion-sign requires -mpower8-fusion" msgstr "" ! #: config/rs6000/rs6000.c:4503 #, gcc-internal-format msgid "-mtoc-fusion requires -mpower8-fusion" msgstr "" --- 30398,30622 ---- msgid "junk at end of #pragma longcall" msgstr "" ! #: config/rs6000/rs6000-c.c:5578 #, gcc-internal-format msgid "vec_lvsl is deprecated for little endian; use assignment for unaligned loads and stores" msgstr "" ! #: config/rs6000/rs6000-c.c:5582 #, gcc-internal-format msgid "vec_lvsr is deprecated for little endian; use assignment for unaligned loads and stores" msgstr "" ! #: config/rs6000/rs6000-c.c:5592 #, gcc-internal-format msgid "vec_mul only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5643 #, gcc-internal-format msgid "vec_cmpne only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5713 #, gcc-internal-format msgid "vec_adde only accepts 3 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5777 #, gcc-internal-format msgid "vec_addec only accepts 3 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5865 #, gcc-internal-format, gfc-internal-format msgid "%s only accepts %d arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5870 #, gcc-internal-format, gfc-internal-format msgid "%s only accepts 1 argument" msgstr "" ! #: config/rs6000/rs6000-c.c:5875 #, gcc-internal-format, gfc-internal-format msgid "%s only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:5941 #, gcc-internal-format msgid "vec_extract only accepts 2 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:6110 #, gcc-internal-format msgid "vec_insert only accepts 3 arguments" msgstr "" ! #: config/rs6000/rs6000-c.c:6388 #, gcc-internal-format msgid "passing arg %d of %qE discards qualifiers from pointer target type" msgstr "" ! #: config/rs6000/rs6000-c.c:6442 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Builtin function %s not supported in this compiler configuration" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/rs6000/rs6000-c.c:6450 #, gcc-internal-format, gfc-internal-format msgid "invalid parameter combination for AltiVec intrinsic %s" msgstr "" ! #: config/rs6000/rs6000.c:3644 #, gcc-internal-format msgid "-mrecip requires -ffinite-math or -ffast-math" msgstr "" ! #: config/rs6000/rs6000.c:3646 #, gcc-internal-format msgid "-mrecip requires -fno-trapping-math or -ffast-math" msgstr "" ! #: config/rs6000/rs6000.c:3648 #, gcc-internal-format msgid "-mrecip requires -freciprocal-math or -ffast-math" msgstr "" ! #: config/rs6000/rs6000.c:3748 #, gcc-internal-format msgid "-m64 requires PowerPC64 architecture, enabling" msgstr "" ! #: config/rs6000/rs6000.c:3931 #, gcc-internal-format msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries" msgstr "" ! #: config/rs6000/rs6000.c:4023 #, gcc-internal-format msgid "will not generate power9 instructions because assembler lacks power9 support" msgstr "" ! #: config/rs6000/rs6000.c:4032 #, gcc-internal-format msgid "will not generate power8 instructions because assembler lacks power8 support" msgstr "" ! #: config/rs6000/rs6000.c:4041 #, gcc-internal-format msgid "will not generate power7 instructions because assembler lacks power7 support" msgstr "" ! #: config/rs6000/rs6000.c:4050 #, gcc-internal-format msgid "will not generate power6 instructions because assembler lacks power6 support" msgstr "" ! #: config/rs6000/rs6000.c:4059 #, gcc-internal-format msgid "will not generate power5 instructions because assembler lacks power5 support" msgstr "" ! #: config/rs6000/rs6000.c:4147 #, gcc-internal-format msgid "not configured for SPE ABI" msgstr "" ! #: config/rs6000/rs6000.c:4152 #, fuzzy, gcc-internal-format #| msgid "Do not generate char instructions" msgid "not configured for SPE instruction set" msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі" ! #: config/rs6000/rs6000.c:4158 #, gcc-internal-format msgid "target attribute or pragma changes SPE ABI" msgstr "" ! #: config/rs6000/rs6000.c:4165 #, fuzzy, gcc-internal-format msgid "AltiVec not supported in this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/rs6000/rs6000.c:4167 config/rs6000/rs6000.c:4172 #, fuzzy, gcc-internal-format msgid "SPE not supported in this target" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/rs6000/rs6000.c:4200 #, gcc-internal-format msgid "-mmultiple is not supported on little endian systems" msgstr "" ! #: config/rs6000/rs6000.c:4207 #, gcc-internal-format msgid "-mstring is not supported on little endian systems" msgstr "" #. Enforce that none of the ISA_3_0_MASKS_SERVER flags #. were explicitly cleared. ! #: config/rs6000/rs6000.c:4303 config/rs6000/rs6000.c:4314 #, gcc-internal-format msgid "-mpower9-minmax incompatible with explicitly disabled options" msgstr "" ! #: config/rs6000/rs6000.c:4306 #, gcc-internal-format msgid "Power9 target option is incompatible with -mcpu= for less than power9" msgstr "" ! #: config/rs6000/rs6000.c:4338 #, gcc-internal-format msgid "-mcrypto requires -maltivec" msgstr "" ! #: config/rs6000/rs6000.c:4345 #, gcc-internal-format msgid "-mdirect-move requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4352 #, gcc-internal-format msgid "-mpower8-vector requires -maltivec" msgstr "" ! #: config/rs6000/rs6000.c:4360 #, gcc-internal-format msgid "-mpower8-vector requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4379 #, gcc-internal-format msgid "-mvsx-timode requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4386 #, gcc-internal-format msgid "-mhard-dfp requires -mhard-float" msgstr "" ! #: config/rs6000/rs6000.c:4439 #, gcc-internal-format msgid "-mupper-regs-df requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4446 #, gcc-internal-format msgid "-mupper-regs-di requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4453 #, gcc-internal-format msgid "-mupper-regs-sf requires -mpower8-vector" msgstr "" ! #: config/rs6000/rs6000.c:4502 #, gcc-internal-format msgid "-mpower8-fusion-sign requires -mpower8-fusion" msgstr "" ! #: config/rs6000/rs6000.c:4505 #, gcc-internal-format msgid "-mtoc-fusion requires -mpower8-fusion" msgstr "" *************** msgstr "" *** 30578,31092 **** #. error messages. However, if users have managed to select #. power9-fusion without selecting power8-fusion, they #. already know about undocumented flags. ! #: config/rs6000/rs6000.c:4520 #, gcc-internal-format msgid "-mpower9-fusion requires -mpower8-fusion" msgstr "" ! #: config/rs6000/rs6000.c:4573 #, gcc-internal-format msgid "-mpower9-vector requires -mpower8-vector" msgstr "" ! #: config/rs6000/rs6000.c:4618 #, gcc-internal-format msgid "-mpower9-dform requires -mpower9-vector" msgstr "" ! #: config/rs6000/rs6000.c:4647 #, gcc-internal-format msgid "-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar require -mdirect-move" msgstr "" ! #: config/rs6000/rs6000.c:4670 #, gcc-internal-format msgid "-mpower9-dform requires -mupper-regs-df" msgstr "" ! #: config/rs6000/rs6000.c:4677 #, gcc-internal-format msgid "-mpower9-dform requires -mupper-regs-sf" msgstr "" ! #: config/rs6000/rs6000.c:4697 #, gcc-internal-format msgid "-mvsx-timode might need -mlra" msgstr "" ! #: config/rs6000/rs6000.c:4722 #, gcc-internal-format msgid "-mallow-movmisalign requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4737 #, gcc-internal-format msgid "-mefficient-unaligned-vsx requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4745 #, gcc-internal-format msgid "-mefficient-unaligned-vsx requires -mallow-movmisalign" msgstr "" ! #: config/rs6000/rs6000.c:4759 #, gcc-internal-format msgid "-mvsx-small-integer requires -mpower8-vector, -mupper-regs-di, and -mdirect-move" msgstr "" ! #: config/rs6000/rs6000.c:4771 #, gcc-internal-format msgid "target attribute or pragma changes long double size" msgstr "" ! #: config/rs6000/rs6000.c:4797 #, gcc-internal-format msgid "-mfloat128 requires VSX support" msgstr "" ! #: config/rs6000/rs6000.c:4807 #, gcc-internal-format msgid "-mfloat128-type requires VSX support" msgstr "" ! #: config/rs6000/rs6000.c:4823 #, gcc-internal-format msgid "-mfloat128 requires -mfloat128-type" msgstr "" ! #: config/rs6000/rs6000.c:4836 #, gcc-internal-format msgid "-mfloat128-hardware requires -mfloat128-type" msgstr "" ! #: config/rs6000/rs6000.c:4859 #, gcc-internal-format msgid "-mfloat128-hardware requires full ISA 3.0 support" msgstr "" ! #: config/rs6000/rs6000.c:4867 #, gcc-internal-format msgid "-mfloat128-hardware requires -m64" msgstr "" ! #: config/rs6000/rs6000.c:4931 #, gcc-internal-format, gfc-internal-format msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch" msgstr "" ! #: config/rs6000/rs6000.c:4952 config/rs6000/rs6000.c:4967 #, gcc-internal-format msgid "target attribute or pragma changes AltiVec ABI" msgstr "" ! #: config/rs6000/rs6000.c:4980 #, gcc-internal-format msgid "target attribute or pragma changes darwin64 ABI" msgstr "" ! #: config/rs6000/rs6000.c:5046 #, gcc-internal-format msgid "target attribute or pragma changes single precision floating point" msgstr "" ! #: config/rs6000/rs6000.c:5049 #, gcc-internal-format msgid "target attribute or pragma changes double precision floating point" msgstr "" ! #: config/rs6000/rs6000.c:5151 #, gcc-internal-format msgid "%qs is not a valid number in -mstack-protector-guard-offset=" msgstr "" ! #: config/rs6000/rs6000.c:5156 #, gcc-internal-format msgid "%qs is not a valid offset in -mstack-protector-guard-offset=" msgstr "" ! #: config/rs6000/rs6000.c:5168 #, gcc-internal-format msgid "%qs is not a valid base register in -mstack-protector-guard-reg=" msgstr "" ! #: config/rs6000/rs6000.c:5176 #, gcc-internal-format msgid "-mstack-protector-guard=tls needs a valid base register" msgstr "" ! #: config/rs6000/rs6000.c:8171 #, gcc-internal-format, gfc-internal-format msgid "the layout of aggregates containing vectors with %d-byte alignment has changed in GCC 5" msgstr "" ! #: config/rs6000/rs6000.c:11584 #, gcc-internal-format msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee" msgstr "" ! #: config/rs6000/rs6000.c:11746 #, gcc-internal-format msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them" msgstr "" ! #: config/rs6000/rs6000.c:11946 #, gcc-internal-format, gfc-internal-format msgid "the ABI of passing aggregates with %d-byte alignment has changed in GCC 5" msgstr "" ! #: config/rs6000/rs6000.c:12215 #, gcc-internal-format msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them" msgstr "" ! #: config/rs6000/rs6000.c:13067 #, gcc-internal-format msgid "the ABI of passing homogeneous float aggregates has changed in GCC 5" msgstr "" ! #: config/rs6000/rs6000.c:13242 #, gcc-internal-format msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee" msgstr "" ! #: config/rs6000/rs6000.c:14036 #, gcc-internal-format, gfc-internal-format msgid "internal error: builtin function %s already processed" msgstr "" ! #: config/rs6000/rs6000.c:14540 #, fuzzy, gcc-internal-format msgid "argument 1 must be an 8-bit field value" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14586 #, fuzzy, gcc-internal-format msgid "argument 1 must be a 5-bit signed literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14689 config/rs6000/rs6000.c:16557 #, fuzzy, gcc-internal-format msgid "argument 2 must be a 5-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14707 #, fuzzy, gcc-internal-format msgid "argument 1 must be a 6-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14721 #, fuzzy, gcc-internal-format msgid "argument 2 must be a 7-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14760 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_altivec_predicate must be a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/rs6000/rs6000.c:14817 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_altivec_predicate is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:15305 #, gcc-internal-format, gfc-internal-format msgid "builtin %s is only valid in 64-bit mode" msgstr "" ! #: config/rs6000/rs6000.c:15354 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be an unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15356 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d is an unsigned literal that is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:15494 #, gcc-internal-format, gfc-internal-format msgid "builtin %s only accepts a string argument" msgstr "" #. Invalid CPU argument. ! #: config/rs6000/rs6000.c:15513 #, gcc-internal-format, gfc-internal-format msgid "cpu %s is an invalid argument to builtin %s" msgstr "" #. Invalid HWCAP argument. ! #: config/rs6000/rs6000.c:15541 #, gcc-internal-format, gfc-internal-format msgid "hwcap %s is an invalid argument to builtin %s" msgstr "" ! #: config/rs6000/rs6000.c:15615 #, fuzzy, gcc-internal-format msgid "argument 3 must be a 4-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15640 #, fuzzy, gcc-internal-format msgid "argument 3 must be a 2-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15660 #, fuzzy, gcc-internal-format msgid "argument 3 must be a 1-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15672 #, fuzzy, gcc-internal-format msgid "argument 1 must be 0 or 2" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" ! #: config/rs6000/rs6000.c:15684 #, fuzzy, gcc-internal-format msgid "argument 1 must be a 1-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15698 #, fuzzy, gcc-internal-format msgid "argument 2 must be a 6-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15710 #, fuzzy, gcc-internal-format msgid "argument 2 must be 0 or 1" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" ! #: config/rs6000/rs6000.c:15717 #, fuzzy, gcc-internal-format msgid "argument 3 must be in the range 0..15" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15906 #, fuzzy, gcc-internal-format msgid "argument to %qs must be a 2-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:16063 #, gcc-internal-format msgid "unresolved overload for Altivec builtin %qF" msgstr "" ! #: config/rs6000/rs6000.c:16237 #, fuzzy, gcc-internal-format msgid "argument to dss must be a 2-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:16285 #, gcc-internal-format msgid "second argument to vec_vextract4b must be 0..12" msgstr "" ! #: config/rs6000/rs6000.c:16302 #, gcc-internal-format msgid "third argument to vec_vinsert4b must be 0..12" msgstr "" ! #: config/rs6000/rs6000.c:16677 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_paired_predicate must be a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/rs6000/rs6000.c:16724 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_paired_predicate is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:16749 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_spe_predicate must be a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/rs6000/rs6000.c:16821 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_spe_predicate is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:16903 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s is only valid for the cell processor" msgstr "" ! #: config/rs6000/rs6000.c:16905 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mvsx option" msgstr "" ! #: config/rs6000/rs6000.c:16907 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhtm option" msgstr "" ! #: config/rs6000/rs6000.c:16909 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -maltivec option" msgstr "" ! #: config/rs6000/rs6000.c:16911 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mpaired option" msgstr "" ! #: config/rs6000/rs6000.c:16913 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mspe option" msgstr "" ! #: config/rs6000/rs6000.c:16916 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-dfp and -mpower8-vector options" msgstr "" ! #: config/rs6000/rs6000.c:16919 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-dfp option" msgstr "" ! #: config/rs6000/rs6000.c:16921 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mpower8-vector option" msgstr "" ! #: config/rs6000/rs6000.c:16924 config/rs6000/rs6000.c:16930 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mcpu=power9 and -m64 options" msgstr "" ! #: config/rs6000/rs6000.c:16927 config/rs6000/rs6000.c:16933 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mcpu=power9 option" msgstr "" ! #: config/rs6000/rs6000.c:16936 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-float and -mlong-double-128 options" msgstr "" ! #: config/rs6000/rs6000.c:16939 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-float option" msgstr "" ! #: config/rs6000/rs6000.c:16941 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mfloat128 option" msgstr "" ! #: config/rs6000/rs6000.c:16943 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Builtin function %s is not supported with the current options" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/rs6000/rs6000.c:18786 #, gcc-internal-format, gfc-internal-format msgid "internal error: builtin function %s had an unexpected return type %s" msgstr "" ! #: config/rs6000/rs6000.c:18803 #, gcc-internal-format, gfc-internal-format msgid "internal error: builtin function %s, argument %d had unexpected argument type %s" msgstr "" ! #: config/rs6000/rs6000.c:28088 #, fuzzy, gcc-internal-format #| msgid "%s is too large" msgid "stack frame too large" msgstr "%s - вельмі вÑлікі" ! #: config/rs6000/rs6000.c:31766 #, gcc-internal-format msgid "-fsplit-stack uses register r29" msgstr "" ! #: config/rs6000/rs6000.c:31774 #, gcc-internal-format msgid "Stack frame larger than 2G is not supported for -fsplit-stack" msgstr "" ! #: config/rs6000/rs6000.c:32762 #, gcc-internal-format msgid "no profiling of 64-bit code for this ABI" msgstr "" ! #: config/rs6000/rs6000.c:35065 #, gcc-internal-format msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option." msgstr "" ! #: config/rs6000/rs6000.c:35147 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35149 #, gcc-internal-format msgid "use of boolean types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35151 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35153 #, gcc-internal-format msgid "use of decimal floating point types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35159 #, gcc-internal-format msgid "use of % in AltiVec types is invalid for 64-bit code without -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:35162 #, gcc-internal-format msgid "use of % in AltiVec types is deprecated; use %" msgstr "" ! #: config/rs6000/rs6000.c:35167 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:35170 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:38943 #, gcc-internal-format, gfc-internal-format msgid "emitting microcode insn %s\t[%s] #%d" msgstr "" ! #: config/rs6000/rs6000.c:38947 #, gcc-internal-format, gfc-internal-format msgid "emitting conditional microcode insn %s\t[%s] #%d" msgstr "" ! #: config/rs6000/rs6000.c:39255 #, gcc-internal-format, gfc-internal-format msgid "invalid cpu \"%s\" for %s\"%s\"%s" msgstr "" ! #: config/rs6000/rs6000.c:39258 #, gcc-internal-format, gfc-internal-format msgid "%s\"%s\"%s is not allowed" msgstr "" ! #: config/rs6000/rs6000.c:39260 #, gcc-internal-format, gfc-internal-format msgid "%s\"%s\"%s is invalid" msgstr "" ! #: config/rs6000/rs6000.c:39777 #, gcc-internal-format, gfc-internal-format msgid "-mno-%s turns off -m%s" msgstr "" ! #: config/rs6000/rs6000.c:39794 #, gcc-internal-format msgid "-mno-power9-vector turns off -mpower9-dform" msgstr "" --- 30625,31144 ---- #. error messages. However, if users have managed to select #. power9-fusion without selecting power8-fusion, they #. already know about undocumented flags. ! #: config/rs6000/rs6000.c:4522 #, gcc-internal-format msgid "-mpower9-fusion requires -mpower8-fusion" msgstr "" ! #: config/rs6000/rs6000.c:4575 #, gcc-internal-format msgid "-mpower9-vector requires -mpower8-vector" msgstr "" ! #: config/rs6000/rs6000.c:4620 #, gcc-internal-format msgid "-mpower9-dform requires -mpower9-vector" msgstr "" ! #: config/rs6000/rs6000.c:4649 #, gcc-internal-format msgid "-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar require -mdirect-move" msgstr "" ! #: config/rs6000/rs6000.c:4672 #, gcc-internal-format msgid "-mpower9-dform requires -mupper-regs-df" msgstr "" ! #: config/rs6000/rs6000.c:4679 #, gcc-internal-format msgid "-mpower9-dform requires -mupper-regs-sf" msgstr "" ! #: config/rs6000/rs6000.c:4699 #, gcc-internal-format msgid "-mvsx-timode might need -mlra" msgstr "" ! #: config/rs6000/rs6000.c:4724 #, gcc-internal-format msgid "-mallow-movmisalign requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4739 #, gcc-internal-format msgid "-mefficient-unaligned-vsx requires -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:4747 #, gcc-internal-format msgid "-mefficient-unaligned-vsx requires -mallow-movmisalign" msgstr "" ! #: config/rs6000/rs6000.c:4761 #, gcc-internal-format msgid "-mvsx-small-integer requires -mpower8-vector, -mupper-regs-di, and -mdirect-move" msgstr "" ! #: config/rs6000/rs6000.c:4773 #, gcc-internal-format msgid "target attribute or pragma changes long double size" msgstr "" ! #: config/rs6000/rs6000.c:4799 #, gcc-internal-format msgid "-mfloat128 requires VSX support" msgstr "" ! #: config/rs6000/rs6000.c:4809 #, gcc-internal-format msgid "-mfloat128-type requires VSX support" msgstr "" ! #: config/rs6000/rs6000.c:4825 #, gcc-internal-format msgid "-mfloat128 requires -mfloat128-type" msgstr "" ! #: config/rs6000/rs6000.c:4838 #, gcc-internal-format msgid "-mfloat128-hardware requires -mfloat128-type" msgstr "" ! #: config/rs6000/rs6000.c:4861 #, gcc-internal-format msgid "-mfloat128-hardware requires full ISA 3.0 support" msgstr "" ! #: config/rs6000/rs6000.c:4869 #, gcc-internal-format msgid "-mfloat128-hardware requires -m64" msgstr "" ! #: config/rs6000/rs6000.c:4933 #, gcc-internal-format, gfc-internal-format msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch" msgstr "" ! #: config/rs6000/rs6000.c:4954 config/rs6000/rs6000.c:4969 #, gcc-internal-format msgid "target attribute or pragma changes AltiVec ABI" msgstr "" ! #: config/rs6000/rs6000.c:4982 #, gcc-internal-format msgid "target attribute or pragma changes darwin64 ABI" msgstr "" ! #: config/rs6000/rs6000.c:5048 #, gcc-internal-format msgid "target attribute or pragma changes single precision floating point" msgstr "" ! #: config/rs6000/rs6000.c:5051 #, gcc-internal-format msgid "target attribute or pragma changes double precision floating point" msgstr "" ! #: config/rs6000/rs6000.c:5153 #, gcc-internal-format msgid "%qs is not a valid number in -mstack-protector-guard-offset=" msgstr "" ! #: config/rs6000/rs6000.c:5158 #, gcc-internal-format msgid "%qs is not a valid offset in -mstack-protector-guard-offset=" msgstr "" ! #: config/rs6000/rs6000.c:5170 #, gcc-internal-format msgid "%qs is not a valid base register in -mstack-protector-guard-reg=" msgstr "" ! #: config/rs6000/rs6000.c:5178 #, gcc-internal-format msgid "-mstack-protector-guard=tls needs a valid base register" msgstr "" ! #: config/rs6000/rs6000.c:8202 #, gcc-internal-format, gfc-internal-format msgid "the layout of aggregates containing vectors with %d-byte alignment has changed in GCC 5" msgstr "" ! #: config/rs6000/rs6000.c:11615 #, gcc-internal-format msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee" msgstr "" ! #: config/rs6000/rs6000.c:11777 #, gcc-internal-format msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them" msgstr "" ! #: config/rs6000/rs6000.c:11977 #, gcc-internal-format, gfc-internal-format msgid "the ABI of passing aggregates with %d-byte alignment has changed in GCC 5" msgstr "" ! #: config/rs6000/rs6000.c:12246 #, gcc-internal-format msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them" msgstr "" ! #: config/rs6000/rs6000.c:13098 #, gcc-internal-format msgid "the ABI of passing homogeneous float aggregates has changed in GCC 5" msgstr "" ! #: config/rs6000/rs6000.c:13273 #, gcc-internal-format msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee" msgstr "" ! #: config/rs6000/rs6000.c:14067 #, gcc-internal-format, gfc-internal-format msgid "internal error: builtin function %s already processed" msgstr "" ! #: config/rs6000/rs6000.c:14571 #, fuzzy, gcc-internal-format msgid "argument 1 must be an 8-bit field value" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14617 #, fuzzy, gcc-internal-format msgid "argument 1 must be a 5-bit signed literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14720 config/rs6000/rs6000.c:16593 #, fuzzy, gcc-internal-format msgid "argument 2 must be a 5-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14738 #, fuzzy, gcc-internal-format msgid "argument 1 must be a 6-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14752 #, fuzzy, gcc-internal-format msgid "argument 2 must be a 7-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:14791 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_altivec_predicate must be a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/rs6000/rs6000.c:14848 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_altivec_predicate is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:15336 #, gcc-internal-format, gfc-internal-format msgid "builtin %s is only valid in 64-bit mode" msgstr "" ! #: config/rs6000/rs6000.c:15385 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d must be an unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15387 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "argument %d is an unsigned literal that is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:15525 #, gcc-internal-format, gfc-internal-format msgid "builtin %s only accepts a string argument" msgstr "" #. Invalid CPU argument. ! #: config/rs6000/rs6000.c:15544 #, gcc-internal-format, gfc-internal-format msgid "cpu %s is an invalid argument to builtin %s" msgstr "" #. Invalid HWCAP argument. ! #: config/rs6000/rs6000.c:15572 #, gcc-internal-format, gfc-internal-format msgid "hwcap %s is an invalid argument to builtin %s" msgstr "" ! #: config/rs6000/rs6000.c:15598 ! #, gcc-internal-format, gfc-internal-format ! msgid "%s needs GLIBC (2.23 and newer) that exports hardware capability bits" ! msgstr "" ! ! #: config/rs6000/rs6000.c:15651 #, fuzzy, gcc-internal-format msgid "argument 3 must be a 4-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15676 #, fuzzy, gcc-internal-format msgid "argument 3 must be a 2-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15696 #, fuzzy, gcc-internal-format msgid "argument 3 must be a 1-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15708 #, fuzzy, gcc-internal-format msgid "argument 1 must be 0 or 2" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" ! #: config/rs6000/rs6000.c:15720 #, fuzzy, gcc-internal-format msgid "argument 1 must be a 1-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15734 #, fuzzy, gcc-internal-format msgid "argument 2 must be a 6-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15746 #, fuzzy, gcc-internal-format msgid "argument 2 must be 0 or 1" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" ! #: config/rs6000/rs6000.c:15753 #, fuzzy, gcc-internal-format msgid "argument 3 must be in the range 0..15" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:15942 #, fuzzy, gcc-internal-format msgid "argument to %qs must be a 2-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:16099 #, gcc-internal-format msgid "unresolved overload for Altivec builtin %qF" msgstr "" ! #: config/rs6000/rs6000.c:16273 #, fuzzy, gcc-internal-format msgid "argument to dss must be a 2-bit unsigned literal" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/rs6000/rs6000.c:16321 #, gcc-internal-format msgid "second argument to vec_vextract4b must be 0..12" msgstr "" ! #: config/rs6000/rs6000.c:16338 #, gcc-internal-format msgid "third argument to vec_vinsert4b must be 0..12" msgstr "" ! #: config/rs6000/rs6000.c:16713 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_paired_predicate must be a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/rs6000/rs6000.c:16760 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_paired_predicate is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:16785 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_spe_predicate must be a constant" msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай" ! #: config/rs6000/rs6000.c:16857 #, fuzzy, gcc-internal-format msgid "argument 1 of __builtin_spe_predicate is out of range" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/rs6000/rs6000.c:16939 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s is only valid for the cell processor" msgstr "" ! #: config/rs6000/rs6000.c:16941 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mvsx option" msgstr "" ! #: config/rs6000/rs6000.c:16943 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhtm option" msgstr "" ! #: config/rs6000/rs6000.c:16945 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -maltivec option" msgstr "" ! #: config/rs6000/rs6000.c:16947 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mpaired option" msgstr "" ! #: config/rs6000/rs6000.c:16949 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mspe option" msgstr "" ! #: config/rs6000/rs6000.c:16952 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-dfp and -mpower8-vector options" msgstr "" ! #: config/rs6000/rs6000.c:16955 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-dfp option" msgstr "" ! #: config/rs6000/rs6000.c:16957 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mpower8-vector option" msgstr "" ! #: config/rs6000/rs6000.c:16960 config/rs6000/rs6000.c:16966 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mcpu=power9 and -m64 options" msgstr "" ! #: config/rs6000/rs6000.c:16963 config/rs6000/rs6000.c:16969 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mcpu=power9 option" msgstr "" ! #: config/rs6000/rs6000.c:16972 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-float and -mlong-double-128 options" msgstr "" ! #: config/rs6000/rs6000.c:16975 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mhard-float option" msgstr "" ! #: config/rs6000/rs6000.c:16977 #, gcc-internal-format, gfc-internal-format msgid "Builtin function %s requires the -mfloat128 option" msgstr "" ! #: config/rs6000/rs6000.c:16979 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "Builtin function %s is not supported with the current options" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: config/rs6000/rs6000.c:18833 #, gcc-internal-format, gfc-internal-format msgid "internal error: builtin function %s had an unexpected return type %s" msgstr "" ! #: config/rs6000/rs6000.c:18850 #, gcc-internal-format, gfc-internal-format msgid "internal error: builtin function %s, argument %d had unexpected argument type %s" msgstr "" ! #: config/rs6000/rs6000.c:28135 #, fuzzy, gcc-internal-format #| msgid "%s is too large" msgid "stack frame too large" msgstr "%s - вельмі вÑлікі" ! #: config/rs6000/rs6000.c:31815 #, gcc-internal-format msgid "-fsplit-stack uses register r29" msgstr "" ! #: config/rs6000/rs6000.c:31823 #, gcc-internal-format msgid "Stack frame larger than 2G is not supported for -fsplit-stack" msgstr "" ! #: config/rs6000/rs6000.c:32811 #, gcc-internal-format msgid "no profiling of 64-bit code for this ABI" msgstr "" ! #: config/rs6000/rs6000.c:35114 #, gcc-internal-format msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option." msgstr "" ! #: config/rs6000/rs6000.c:35196 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35198 #, gcc-internal-format msgid "use of boolean types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35200 #, gcc-internal-format msgid "use of % in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35202 #, gcc-internal-format msgid "use of decimal floating point types in AltiVec types is invalid" msgstr "" ! #: config/rs6000/rs6000.c:35208 #, gcc-internal-format msgid "use of % in AltiVec types is invalid for 64-bit code without -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:35211 #, gcc-internal-format msgid "use of % in AltiVec types is deprecated; use %" msgstr "" ! #: config/rs6000/rs6000.c:35216 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:35219 #, gcc-internal-format msgid "use of % in AltiVec types is invalid without -mvsx" msgstr "" ! #: config/rs6000/rs6000.c:38992 #, gcc-internal-format, gfc-internal-format msgid "emitting microcode insn %s\t[%s] #%d" msgstr "" ! #: config/rs6000/rs6000.c:38996 #, gcc-internal-format, gfc-internal-format msgid "emitting conditional microcode insn %s\t[%s] #%d" msgstr "" ! #: config/rs6000/rs6000.c:39304 #, gcc-internal-format, gfc-internal-format msgid "invalid cpu \"%s\" for %s\"%s\"%s" msgstr "" ! #: config/rs6000/rs6000.c:39307 #, gcc-internal-format, gfc-internal-format msgid "%s\"%s\"%s is not allowed" msgstr "" ! #: config/rs6000/rs6000.c:39309 #, gcc-internal-format, gfc-internal-format msgid "%s\"%s\"%s is invalid" msgstr "" ! #: config/rs6000/rs6000.c:39826 #, gcc-internal-format, gfc-internal-format msgid "-mno-%s turns off -m%s" msgstr "" ! #: config/rs6000/rs6000.c:39843 #, gcc-internal-format msgid "-mno-power9-vector turns off -mpower9-dform" msgstr "" *************** msgid "-mcall-aixdesc incompatible with *** 31275,31280 **** --- 31327,31333 ---- msgstr "" #: config/rs6000/freebsd64.h:113 config/rs6000/linux64.h:135 + #: config/rs6000/rtems.h:96 #, gcc-internal-format msgid "-m64 requires a PowerPC64 cpu" msgstr "" *************** msgstr "" *** 31366,31372 **** msgid "builtin vec_step can only be used on vector types." msgstr "" ! #: config/s390/s390-c.c:685 config/s390/s390.c:913 #, gcc-internal-format msgid "constant value required for builtin %qF argument %d" msgstr "" --- 31419,31425 ---- msgid "builtin vec_step can only be used on vector types." msgstr "" ! #: config/s390/s390-c.c:685 config/s390/s390.c:916 #, gcc-internal-format msgid "constant value required for builtin %qF argument %d" msgstr "" *************** msgstr "" *** 31393,31399 **** #: config/s390/s390-c.c:889 #, gcc-internal-format ! msgid "%qF requires -march=arch12 or higher" msgstr "" #: config/s390/s390-c.c:903 --- 31446,31452 ---- #: config/s390/s390-c.c:889 #, gcc-internal-format ! msgid "%qF requires z14 or higher" msgstr "" #: config/s390/s390-c.c:903 *************** msgstr "" *** 31414,31420 **** #: config/s390/s390-c.c:966 #, gcc-internal-format ! msgid "%qs matching variant requires -march=arch12 or higher" msgstr "" #: config/s390/s390-c.c:972 --- 31467,31473 ---- #: config/s390/s390-c.c:966 #, gcc-internal-format ! msgid "%qs matching variant requires z14 or higher" msgstr "" #: config/s390/s390-c.c:972 *************** msgstr "" *** 31427,31590 **** msgid "constant argument %d for builtin %qF is out of range for target type" msgstr "" ! #: config/s390/s390.c:769 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_args_info' out of range" msgid "constant argument %d for builtin %qF is out of range (0.." msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/s390/s390.c:786 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_args_info' out of range" msgid "constant argument %d for builtin %qF is out of range (" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/s390/s390.c:837 #, gcc-internal-format msgid "builtin %qF is not supported without -mhtm (default with -march=zEC12 and higher)." msgstr "" ! #: config/s390/s390.c:843 #, gcc-internal-format msgid "builtin %qF requires -mvx (default with -march=z13 and higher)." msgstr "" ! #: config/s390/s390.c:850 #, gcc-internal-format ! msgid "Builtin %qF requires arch12 or higher." msgstr "" ! #: config/s390/s390.c:869 #, gcc-internal-format msgid "unresolved overloaded builtin" msgstr "" ! #: config/s390/s390.c:876 config/tilegx/tilegx.c:3545 #: config/tilepro/tilepro.c:3109 #, gcc-internal-format msgid "bad builtin icode" msgstr "" ! #: config/s390/s390.c:1004 #, fuzzy, gcc-internal-format msgid "invalid argument %d for builtin %qF" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/s390/s390.c:1105 #, gcc-internal-format msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" msgstr "" ! #: config/s390/s390.c:9980 #, gcc-internal-format msgid "total size of local variables exceeds architecture limit" msgstr "" ! #: config/s390/s390.c:11094 #, gcc-internal-format msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." msgstr "" ! #: config/s390/s390.c:11110 #, gcc-internal-format msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." msgstr "" ! #: config/s390/s390.c:11138 #, fuzzy, gcc-internal-format #| msgid "size of `%s' is %d bytes" msgid "frame size of %qs is %wd bytes" msgstr "памер \"%s\" - %d байт" ! #: config/s390/s390.c:11142 #, gcc-internal-format msgid "%qs uses dynamic stack allocation" msgstr "" ! #: config/s390/s390.c:11520 #, gcc-internal-format msgid "CPUs older than z900 are not supported for -fsplit-stack" msgstr "" ! #: config/s390/s390.c:14666 #, gcc-internal-format, gfc-internal-format msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" msgstr "" ! #: config/s390/s390.c:14678 #, gcc-internal-format, gfc-internal-format msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" msgstr "" ! #: config/s390/s390.c:14690 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "z/Architecture mode not supported on %s" msgstr "-pipe не падтрымліваецца" ! #: config/s390/s390.c:14693 #, gcc-internal-format msgid "64-bit ABI not supported in ESA/390 mode" msgstr "" ! #: config/s390/s390.c:14710 #, gcc-internal-format, gfc-internal-format msgid "hardware vector support not available on %s" msgstr "" ! #: config/s390/s390.c:14713 #, gcc-internal-format msgid "hardware vector support not available with -msoft-float" msgstr "" ! #: config/s390/s390.c:14741 #, gcc-internal-format, gfc-internal-format msgid "hardware decimal floating point instructions not available on %s" msgstr "" ! #: config/s390/s390.c:14745 #, gcc-internal-format msgid "hardware decimal floating point instructions not available in ESA/390 mode" msgstr "" ! #: config/s390/s390.c:14757 #, gcc-internal-format msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" msgstr "" ! #: config/s390/s390.c:14765 #, gcc-internal-format msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" msgstr "" ! #: config/s390/s390.c:14771 #, gcc-internal-format msgid "stack size must be greater than the stack guard value" msgstr "" ! #: config/s390/s390.c:14773 #, gcc-internal-format msgid "stack size must not be greater than 64k" msgstr "" ! #: config/s390/s390.c:14776 #, gcc-internal-format msgid "-mstack-guard implies use of -mstack-size" msgstr "" #. argument is not a plain number ! #: config/s390/s390.c:14874 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "arguments to %qs should be non-negative integers" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/s390/s390.c:14881 #, fuzzy, gcc-internal-format msgid "argument to %qs is too large (max. %d)" msgstr "памер \"%s\" больш чам %d байт" #. Value is not allowed for the target attribute. ! #: config/s390/s390.c:15089 #, fuzzy, gcc-internal-format msgid "value %qs is not supported by attribute %" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" --- 31480,31643 ---- msgid "constant argument %d for builtin %qF is out of range for target type" msgstr "" ! #: config/s390/s390.c:772 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_args_info' out of range" msgid "constant argument %d for builtin %qF is out of range (0.." msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/s390/s390.c:789 #, fuzzy, gcc-internal-format #| msgid "argument of `__builtin_args_info' out of range" msgid "constant argument %d for builtin %qF is out of range (" msgstr "аргумент `__builtin_args_info' выйшаў за межы" ! #: config/s390/s390.c:840 #, gcc-internal-format msgid "builtin %qF is not supported without -mhtm (default with -march=zEC12 and higher)." msgstr "" ! #: config/s390/s390.c:846 #, gcc-internal-format msgid "builtin %qF requires -mvx (default with -march=z13 and higher)." msgstr "" ! #: config/s390/s390.c:853 #, gcc-internal-format ! msgid "Builtin %qF requires z14 or higher." msgstr "" ! #: config/s390/s390.c:872 #, gcc-internal-format msgid "unresolved overloaded builtin" msgstr "" ! #: config/s390/s390.c:879 config/tilegx/tilegx.c:3545 #: config/tilepro/tilepro.c:3109 #, gcc-internal-format msgid "bad builtin icode" msgstr "" ! #: config/s390/s390.c:1007 #, fuzzy, gcc-internal-format msgid "invalid argument %d for builtin %qF" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: config/s390/s390.c:1108 #, gcc-internal-format msgid "requested %qE attribute is not a comma separated pair of non-negative integer constants or too large (max. %d)" msgstr "" ! #: config/s390/s390.c:9987 #, gcc-internal-format msgid "total size of local variables exceeds architecture limit" msgstr "" ! #: config/s390/s390.c:11101 #, gcc-internal-format msgid "frame size of function %qs is %wd bytes exceeding user provided stack limit of %d bytes. An unconditional trap is added." msgstr "" ! #: config/s390/s390.c:11117 #, gcc-internal-format msgid "frame size of function %qs is %wd bytes which is more than half the stack size. The dynamic check would not be reliable. No check emitted for this function." msgstr "" ! #: config/s390/s390.c:11145 #, fuzzy, gcc-internal-format #| msgid "size of `%s' is %d bytes" msgid "frame size of %qs is %wd bytes" msgstr "памер \"%s\" - %d байт" ! #: config/s390/s390.c:11149 #, gcc-internal-format msgid "%qs uses dynamic stack allocation" msgstr "" ! #: config/s390/s390.c:11527 #, gcc-internal-format msgid "CPUs older than z900 are not supported for -fsplit-stack" msgstr "" ! #: config/s390/s390.c:14673 #, gcc-internal-format, gfc-internal-format msgid "%sarch=%s%s is deprecated and will be removed in future releases; use at least %sarch=z900%s" msgstr "" ! #: config/s390/s390.c:14685 #, gcc-internal-format, gfc-internal-format msgid "%stune=%s%s is deprecated and will be removed in future releases; use at least %stune=z900%s" msgstr "" ! #: config/s390/s390.c:14697 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "z/Architecture mode not supported on %s" msgstr "-pipe не падтрымліваецца" ! #: config/s390/s390.c:14700 #, gcc-internal-format msgid "64-bit ABI not supported in ESA/390 mode" msgstr "" ! #: config/s390/s390.c:14717 #, gcc-internal-format, gfc-internal-format msgid "hardware vector support not available on %s" msgstr "" ! #: config/s390/s390.c:14720 #, gcc-internal-format msgid "hardware vector support not available with -msoft-float" msgstr "" ! #: config/s390/s390.c:14748 #, gcc-internal-format, gfc-internal-format msgid "hardware decimal floating point instructions not available on %s" msgstr "" ! #: config/s390/s390.c:14752 #, gcc-internal-format msgid "hardware decimal floating point instructions not available in ESA/390 mode" msgstr "" ! #: config/s390/s390.c:14764 #, gcc-internal-format msgid "-mhard-dfp can%'t be used in conjunction with -msoft-float" msgstr "" ! #: config/s390/s390.c:14772 #, gcc-internal-format msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination" msgstr "" ! #: config/s390/s390.c:14778 #, gcc-internal-format msgid "stack size must be greater than the stack guard value" msgstr "" ! #: config/s390/s390.c:14780 #, gcc-internal-format msgid "stack size must not be greater than 64k" msgstr "" ! #: config/s390/s390.c:14783 #, gcc-internal-format msgid "-mstack-guard implies use of -mstack-size" msgstr "" #. argument is not a plain number ! #: config/s390/s390.c:14881 #, fuzzy, gcc-internal-format #| msgid "first argument of `%s' should be `int'" msgid "arguments to %qs should be non-negative integers" msgstr "першым аргументам \"%s\" павінен быць \"int\"" ! #: config/s390/s390.c:14888 #, fuzzy, gcc-internal-format msgid "argument to %qs is too large (max. %d)" msgstr "памер \"%s\" больш чам %d байт" #. Value is not allowed for the target attribute. ! #: config/s390/s390.c:15096 #, fuzzy, gcc-internal-format msgid "value %qs is not supported by attribute %" msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" *************** msgstr "" *** 31641,31667 **** msgid "-mrelax is only supported for RTP PIC" msgstr "" ! #: config/sparc/sparc.c:1393 #, gcc-internal-format, gfc-internal-format msgid "%s is not supported by this configuration" msgstr "" ! #: config/sparc/sparc.c:1400 #, gcc-internal-format msgid "-mlong-double-64 not allowed with -m64" msgstr "" ! #: config/sparc/sparc.c:1420 #, gcc-internal-format, gfc-internal-format msgid "bad value (%s) for -mcmodel= switch" msgstr "" ! #: config/sparc/sparc.c:1425 ! #, gcc-internal-format ! msgid "-mcmodel= is not supported on 32 bit systems" ! msgstr "" ! #: config/sparc/sparc.c:1432 #, fuzzy, gcc-internal-format msgid "-fcall-saved-REG is not supported for out registers" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" --- 31694,31720 ---- msgid "-mrelax is only supported for RTP PIC" msgstr "" ! #: config/sparc/sparc.c:1509 #, gcc-internal-format, gfc-internal-format msgid "%s is not supported by this configuration" msgstr "" ! #: config/sparc/sparc.c:1516 #, gcc-internal-format msgid "-mlong-double-64 not allowed with -m64" msgstr "" ! #: config/sparc/sparc.c:1536 #, gcc-internal-format, gfc-internal-format msgid "bad value (%s) for -mcmodel= switch" msgstr "" ! #: config/sparc/sparc.c:1541 ! #, fuzzy, gcc-internal-format ! msgid "-mcmodel= is not supported on 32-bit systems" ! msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай" ! #: config/sparc/sparc.c:1548 #, fuzzy, gcc-internal-format msgid "-fcall-saved-REG is not supported for out registers" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" *************** msgstr "" *** 31951,31972 **** msgid "invalid constant in %<#pragma %s%>" msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ" ! #: config/xtensa/xtensa.c:2185 #, gcc-internal-format msgid "boolean registers required for the floating-point option" msgstr "" ! #: config/xtensa/xtensa.c:2220 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "-f%s is not supported with CONST16 instructions" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/xtensa/xtensa.c:2227 #, gcc-internal-format msgid "PIC is required but not supported with CONST16 instructions" msgstr "" ! #: config/xtensa/xtensa.c:3543 #, gcc-internal-format msgid "only uninitialized variables can be placed in a .bss section" msgstr "" --- 32004,32025 ---- msgid "invalid constant in %<#pragma %s%>" msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ" ! #: config/xtensa/xtensa.c:2186 #, gcc-internal-format msgid "boolean registers required for the floating-point option" msgstr "" ! #: config/xtensa/xtensa.c:2221 #, fuzzy, gcc-internal-format, gfc-internal-format msgid "-f%s is not supported with CONST16 instructions" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: config/xtensa/xtensa.c:2228 #, gcc-internal-format msgid "PIC is required but not supported with CONST16 instructions" msgstr "" ! #: config/xtensa/xtensa.c:3544 #, gcc-internal-format msgid "only uninitialized variables can be placed in a .bss section" msgstr "" *************** msgstr "\"%s\" атрыбут ігнар *** 32054,32060 **** msgid "could not read the BRIG file" msgstr "не магу знайÑці крыніцу %s\n" ! #: c/c-array-notation.c:217 c/c-array-notation.c:246 cp/call.c:8205 #: cp/cp-array-notation.c:250 #, fuzzy, gcc-internal-format msgid "Invalid builtin arguments" --- 32107,32113 ---- msgid "could not read the BRIG file" msgstr "не магу знайÑці крыніцу %s\n" ! #: c/c-array-notation.c:217 c/c-array-notation.c:246 cp/call.c:8210 #: cp/cp-array-notation.c:250 #, fuzzy, gcc-internal-format msgid "Invalid builtin arguments" *************** msgid "label %qD defined here" *** 32466,32474 **** msgstr "адмеціна `%D' вызначана, але не выкарыÑтоўваецца" #: c/c-decl.c:3601 c/c-decl.c:3872 c/c-typeck.c:8091 cp/class.c:1480 ! #: cp/class.c:3379 cp/decl.c:3907 cp/decl.c:10592 cp/decl.c:10999 ! #: cp/friend.c:383 cp/friend.c:392 cp/parser.c:3166 cp/parser.c:3259 ! #: cp/parser.c:3290 cp/parser.c:6043 cp/parser.c:20681 #, fuzzy, gcc-internal-format msgid "%qD declared here" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" --- 32519,32527 ---- msgstr "адмеціна `%D' вызначана, але не выкарыÑтоўваецца" #: c/c-decl.c:3601 c/c-decl.c:3872 c/c-typeck.c:8091 cp/class.c:1480 ! #: cp/class.c:3381 cp/decl.c:3907 cp/decl.c:10592 cp/decl.c:10999 ! #: cp/friend.c:383 cp/friend.c:392 cp/parser.c:3168 cp/parser.c:3261 ! #: cp/parser.c:3292 cp/parser.c:6048 cp/parser.c:20704 #, fuzzy, gcc-internal-format msgid "%qD declared here" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" *************** msgstr "ISO C89 не падтрымліР*** 32605,32611 **** msgid "%<[*]%> not allowed in other than function prototype scope" msgstr "" ! #: c/c-decl.c:4606 cp/decl2.c:1408 #, gcc-internal-format msgid "%q+D in declare target directive does not have mappable type" msgstr "" --- 32658,32664 ---- msgid "%<[*]%> not allowed in other than function prototype scope" msgstr "" ! #: c/c-decl.c:4606 cp/decl2.c:1409 #, gcc-internal-format msgid "%q+D in declare target directive does not have mappable type" msgstr "" *************** msgstr "паўторнае абвÑÑˆÑ‡Ñ *** 33684,33690 **** msgid "two or more data types in declaration specifiers" msgstr "" ! #: c/c-decl.c:9853 cp/parser.c:27656 #, fuzzy, gcc-internal-format #| msgid "`long long long' is too long for GCC" msgid "% is too long for GCC" --- 33737,33743 ---- msgid "two or more data types in declaration specifiers" msgstr "" ! #: c/c-decl.c:9853 cp/parser.c:27679 #, fuzzy, gcc-internal-format #| msgid "`long long long' is too long for GCC" msgid "% is too long for GCC" *************** msgstr "" *** 33838,33854 **** msgid "ISO C does not support plain % meaning %" msgstr "ISO C не падтрымлівае проÑÑ‚Ñ‹ \"complex\" у значÑнні \"double complex\"" ! #: c/c-decl.c:10925 c/c-decl.c:10938 c/c-decl.c:10964 #, gcc-internal-format msgid "ISO C does not support complex integer types" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: c/c-decl.c:11372 cp/semantics.c:5330 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-decl.c:11376 cp/semantics.c:5334 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" msgstr "" --- 33891,33907 ---- msgid "ISO C does not support plain % meaning %" msgstr "ISO C не падтрымлівае проÑÑ‚Ñ‹ \"complex\" у значÑнні \"double complex\"" ! #: c/c-decl.c:10925 c/c-decl.c:10941 c/c-decl.c:10967 #, gcc-internal-format msgid "ISO C does not support complex integer types" msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: c/c-decl.c:11375 cp/semantics.c:5343 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" msgstr "" ! #: c/c-decl.c:11379 cp/semantics.c:5347 #, gcc-internal-format msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" msgstr "" *************** msgstr "" *** 33898,33904 **** msgid "version control conflict marker in file" msgstr "" ! #: c/c-parser.c:1035 cp/parser.c:27863 #, gcc-internal-format msgid "expected end of line" msgstr "" --- 33951,33957 ---- msgid "version control conflict marker in file" msgstr "" ! #: c/c-parser.c:1035 cp/parser.c:27886 #, gcc-internal-format msgid "expected end of line" msgstr "" *************** msgid "unknown type name %qE" *** 33941,33947 **** msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s" #: c/c-parser.c:1656 c/c-parser.c:10365 c/c-parser.c:15447 c/c-parser.c:15875 ! #: c/c-parser.c:16351 cp/parser.c:35355 cp/parser.c:38379 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "expected declaration specifiers" --- 33994,34000 ---- msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s" #: c/c-parser.c:1656 c/c-parser.c:10365 c/c-parser.c:15447 c/c-parser.c:15875 ! #: c/c-parser.c:16351 cp/parser.c:35378 cp/parser.c:38402 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "expected declaration specifiers" *************** msgstr "пуÑтое абвÑшчÑньР*** 33958,33964 **** msgid "expected %<;%>, identifier or %<(%>" msgstr "" ! #: c/c-parser.c:1714 cp/parser.c:29516 cp/parser.c:29590 #, fuzzy, gcc-internal-format msgid "prefix attributes are ignored for methods" msgstr "\"%s\" атрыбут ігнарыруецца" --- 34011,34017 ---- msgid "expected %<;%>, identifier or %<(%>" msgstr "" ! #: c/c-parser.c:1714 cp/parser.c:29539 cp/parser.c:29613 #, fuzzy, gcc-internal-format msgid "prefix attributes are ignored for methods" msgstr "\"%s\" атрыбут ігнарыруецца" *************** msgstr "атрыбуты Ñекцыі н *** 33974,33981 **** msgid "unexpected attribute" msgstr "" ! #: c/c-parser.c:1780 c/c-parser.c:5035 c/c-parser.c:5376 cp/parser.c:10721 ! #: cp/parser.c:10908 #, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "" --- 34027,34034 ---- msgid "unexpected attribute" msgstr "" ! #: c/c-parser.c:1780 c/c-parser.c:5035 c/c-parser.c:5376 cp/parser.c:10730 ! #: cp/parser.c:10917 #, gcc-internal-format msgid "% attribute not followed by %<;%>" msgstr "" *************** msgstr "" *** 34013,34019 **** msgid "%<__auto_type%> may only be used with a single declarator" msgstr "" ! #: c/c-parser.c:2028 cp/parser.c:12724 cp/parser.c:12881 #, gcc-internal-format msgid "expected %<,%> or %<;%>" msgstr "" --- 34066,34072 ---- msgid "%<__auto_type%> may only be used with a single declarator" msgstr "" ! #: c/c-parser.c:2028 cp/parser.c:12733 cp/parser.c:12890 #, gcc-internal-format msgid "expected %<,%> or %<;%>" msgstr "" *************** msgstr "ISO C89 не падтрымліР*** 34043,34049 **** msgid "ISO C90 does not support %<_Static_assert%>" msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: c/c-parser.c:2234 c/c-parser.c:3925 c/c-parser.c:10423 cp/parser.c:38038 #, gcc-internal-format msgid "expected string literal" msgstr "" --- 34096,34102 ---- msgid "ISO C90 does not support %<_Static_assert%>" msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: c/c-parser.c:2234 c/c-parser.c:3925 c/c-parser.c:10423 cp/parser.c:38061 #, gcc-internal-format msgid "expected string literal" msgstr "" *************** msgstr "параметр \"%s\" ініц *** 34109,34122 **** #: c/c-parser.c:10030 c/c-parser.c:10083 c/c-parser.c:10099 c/c-parser.c:10145 #: c/c-parser.c:10737 c/c-parser.c:10778 c/c-parser.c:12750 c/c-parser.c:12984 #: c/c-parser.c:14838 c/c-parser.c:17638 c/c-parser.c:17967 ! #: c/gimple-parser.c:1008 c/gimple-parser.c:1046 cp/parser.c:27866 ! #: cp/parser.c:30359 cp/parser.c:30389 cp/parser.c:30459 cp/parser.c:32558 ! #: cp/parser.c:37752 cp/parser.c:38523 #, gcc-internal-format msgid "expected identifier" msgstr "" ! #: c/c-parser.c:2780 cp/parser.c:18016 #, gcc-internal-format msgid "comma at end of enumerator list" msgstr "" --- 34162,34175 ---- #: c/c-parser.c:10030 c/c-parser.c:10083 c/c-parser.c:10099 c/c-parser.c:10145 #: c/c-parser.c:10737 c/c-parser.c:10778 c/c-parser.c:12750 c/c-parser.c:12984 #: c/c-parser.c:14838 c/c-parser.c:17638 c/c-parser.c:17967 ! #: c/gimple-parser.c:1008 c/gimple-parser.c:1046 cp/parser.c:27889 ! #: cp/parser.c:30382 cp/parser.c:30412 cp/parser.c:30482 cp/parser.c:32581 ! #: cp/parser.c:37775 cp/parser.c:38546 #, gcc-internal-format msgid "expected identifier" msgstr "" ! #: c/c-parser.c:2780 cp/parser.c:18039 #, gcc-internal-format msgid "comma at end of enumerator list" msgstr "" *************** msgstr "ISO C не дазвалÑе Ð´Ñ *** 34254,34260 **** msgid "expected %<}%> before %" msgstr "" ! #: c/c-parser.c:4908 cp/parser.c:11026 #, gcc-internal-format msgid "% without a previous %" msgstr "" --- 34307,34313 ---- msgid "expected %<}%> before %" msgstr "" ! #: c/c-parser.c:4908 cp/parser.c:11035 #, gcc-internal-format msgid "% without a previous %" msgstr "" *************** msgstr "" *** 34279,34290 **** msgid "a label can only be part of a statement and a declaration is not a statement" msgstr "" ! #: c/c-parser.c:5252 cp/parser.c:10573 #, gcc-internal-format msgid "-fcilkplus must be enabled to use %<_Cilk_for%>" msgstr "" ! #: c/c-parser.c:5262 cp/parser.c:10599 #, gcc-internal-format msgid "-fcilkplus must be enabled to use %<_Cilk_sync%>" msgstr "" --- 34332,34343 ---- msgid "a label can only be part of a statement and a declaration is not a statement" msgstr "" ! #: c/c-parser.c:5252 cp/parser.c:10582 #, gcc-internal-format msgid "-fcilkplus must be enabled to use %<_Cilk_for%>" msgstr "" ! #: c/c-parser.c:5262 cp/parser.c:10608 #, gcc-internal-format msgid "-fcilkplus must be enabled to use %<_Cilk_sync%>" msgstr "" *************** msgstr "" *** 34298,34315 **** #. c_parser_skip_until_found stops at a closing nesting #. delimiter without consuming it, but here we need to consume #. it to proceed further. ! #: c/c-parser.c:5397 c/gimple-parser.c:1391 cp/parser.c:10677 #, gcc-internal-format msgid "expected statement" msgstr "" ! #: c/c-parser.c:5501 cp/parser.c:12259 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "suggest braces around empty body in an % statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: c/c-parser.c:5535 cp/parser.c:12262 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "suggest braces around empty body in an % statement" --- 34351,34368 ---- #. c_parser_skip_until_found stops at a closing nesting #. delimiter without consuming it, but here we need to consume #. it to proceed further. ! #: c/c-parser.c:5397 c/gimple-parser.c:1391 cp/parser.c:10686 #, gcc-internal-format msgid "expected statement" msgstr "" ! #: c/c-parser.c:5501 cp/parser.c:12268 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "suggest braces around empty body in an % statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: c/c-parser.c:5535 cp/parser.c:12271 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "suggest braces around empty body in an % statement" *************** msgstr "пуÑтое цела Ñž else-в *** 34320,34326 **** msgid "if statement cannot contain %" msgstr "" ! #: c/c-parser.c:5667 cp/parser.c:11261 #, gcc-internal-format msgid "suggest explicit braces to avoid ambiguous %" msgstr "" --- 34373,34379 ---- msgid "if statement cannot contain %" msgstr "" ! #: c/c-parser.c:5667 cp/parser.c:11270 #, gcc-internal-format msgid "suggest explicit braces to avoid ambiguous %" msgstr "" *************** msgstr "" *** 34340,34346 **** msgid "invalid iterating variable in fast enumeration" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: c/c-parser.c:6014 cp/parser.c:11462 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" --- 34393,34399 ---- msgid "invalid iterating variable in fast enumeration" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: c/c-parser.c:6014 cp/parser.c:11471 #, gcc-internal-format msgid "missing loop condition in loop with % pragma" msgstr "" *************** msgstr "" *** 34520,34537 **** msgid "%<__builtin_complex%> operands of different types" msgstr "" ! #: c/c-parser.c:8121 cp/parser.c:6676 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_shuffle%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: c/c-parser.c:8202 cp/parser.c:6587 #, gcc-internal-format msgid "-fcilkplus must be enabled to use %<_Cilk_spawn%>" msgstr "" ! #: c/c-parser.c:8209 cp/parser.c:6593 #, gcc-internal-format msgid "consecutive %<_Cilk_spawn%> keywords are not permitted" msgstr "" --- 34573,34590 ---- msgid "%<__builtin_complex%> operands of different types" msgstr "" ! #: c/c-parser.c:8121 cp/parser.c:6681 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_shuffle%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: c/c-parser.c:8202 cp/parser.c:6592 #, gcc-internal-format msgid "-fcilkplus must be enabled to use %<_Cilk_spawn%>" msgstr "" ! #: c/c-parser.c:8209 cp/parser.c:6598 #, gcc-internal-format msgid "consecutive %<_Cilk_spawn%> keywords are not permitted" msgstr "" *************** msgstr "" *** 34587,34647 **** msgid "no type or storage class may be specified here," msgstr "" ! #: c/c-parser.c:9946 c/c-parser.c:10003 cp/parser.c:30419 #, gcc-internal-format msgid "unknown property attribute" msgstr "" ! #: c/c-parser.c:9967 cp/parser.c:30379 #, gcc-internal-format msgid "missing %<=%> (after % attribute)" msgstr "" ! #: c/c-parser.c:9970 cp/parser.c:30382 #, gcc-internal-format msgid "missing %<=%> (after % attribute)" msgstr "" ! #: c/c-parser.c:9984 cp/parser.c:30397 #, gcc-internal-format msgid "the % attribute may only be specified once" msgstr "" ! #: c/c-parser.c:9989 cp/parser.c:30403 #, gcc-internal-format msgid "setter name must terminate with %<:%>" msgstr "" ! #: c/c-parser.c:9996 cp/parser.c:30411 #, gcc-internal-format msgid "the % attribute may only be specified once" msgstr "" #: c/c-parser.c:10191 c/c-parser.c:15872 c/c-parser.c:16130 c/c-parser.c:16189 ! #: c/c-parser.c:16273 cp/parser.c:35352 cp/parser.c:35646 cp/parser.c:35734 ! #: cp/parser.c:35805 cp/parser.c:38116 cp/parser.c:38131 cp/parser.c:38147 ! #: cp/parser.c:38163 cp/parser.c:38179 cp/parser.c:38207 cp/parser.c:38220 ! #: cp/parser.c:38243 cp/parser.c:38256 #, gcc-internal-format msgid "%<#pragma %s%> may only be used in compound statements" msgstr "" ! #: c/c-parser.c:10214 cp/parser.c:38233 #, gcc-internal-format msgid "%<#pragma acc routine%> must be at file scope" msgstr "" ! #: c/c-parser.c:10292 cp/parser.c:38314 #, gcc-internal-format msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" msgstr "" ! #: c/c-parser.c:10311 cp/parser.c:38333 #, gcc-internal-format msgid "for, while or do statement expected" msgstr "" ! #: c/c-parser.c:10323 cp/parser.c:38106 #, gcc-internal-format msgid "%<#pragma GCC pch_preprocess%> must be first" msgstr "" --- 34640,34700 ---- msgid "no type or storage class may be specified here," msgstr "" ! #: c/c-parser.c:9946 c/c-parser.c:10003 cp/parser.c:30442 #, gcc-internal-format msgid "unknown property attribute" msgstr "" ! #: c/c-parser.c:9967 cp/parser.c:30402 #, gcc-internal-format msgid "missing %<=%> (after % attribute)" msgstr "" ! #: c/c-parser.c:9970 cp/parser.c:30405 #, gcc-internal-format msgid "missing %<=%> (after % attribute)" msgstr "" ! #: c/c-parser.c:9984 cp/parser.c:30420 #, gcc-internal-format msgid "the % attribute may only be specified once" msgstr "" ! #: c/c-parser.c:9989 cp/parser.c:30426 #, gcc-internal-format msgid "setter name must terminate with %<:%>" msgstr "" ! #: c/c-parser.c:9996 cp/parser.c:30434 #, gcc-internal-format msgid "the % attribute may only be specified once" msgstr "" #: c/c-parser.c:10191 c/c-parser.c:15872 c/c-parser.c:16130 c/c-parser.c:16189 ! #: c/c-parser.c:16273 cp/parser.c:35375 cp/parser.c:35669 cp/parser.c:35757 ! #: cp/parser.c:35828 cp/parser.c:38139 cp/parser.c:38154 cp/parser.c:38170 ! #: cp/parser.c:38186 cp/parser.c:38202 cp/parser.c:38230 cp/parser.c:38243 ! #: cp/parser.c:38266 cp/parser.c:38279 #, gcc-internal-format msgid "%<#pragma %s%> may only be used in compound statements" msgstr "" ! #: c/c-parser.c:10214 cp/parser.c:38256 #, gcc-internal-format msgid "%<#pragma acc routine%> must be at file scope" msgstr "" ! #: c/c-parser.c:10292 cp/parser.c:38337 #, gcc-internal-format msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" msgstr "" ! #: c/c-parser.c:10311 cp/parser.c:38356 #, gcc-internal-format msgid "for, while or do statement expected" msgstr "" ! #: c/c-parser.c:10323 cp/parser.c:38129 #, gcc-internal-format msgid "%<#pragma GCC pch_preprocess%> must be first" msgstr "" *************** msgstr "" *** 34656,34668 **** msgid "%<#pragma grainsize%> must be inside a function" msgstr "" ! #: c/c-parser.c:10663 cp/parser.c:30809 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses" msgstr "вельмі шмат уваходзÑчых файлаў" ! #: c/c-parser.c:10684 cp/parser.c:31341 #, gcc-internal-format msgid "expected integer expression before ')'" msgstr "" --- 34709,34721 ---- msgid "%<#pragma grainsize%> must be inside a function" msgstr "" ! #: c/c-parser.c:10663 cp/parser.c:30832 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many %qs clauses" msgstr "вельмі шмат уваходзÑчых файлаў" ! #: c/c-parser.c:10684 cp/parser.c:31364 #, gcc-internal-format msgid "expected integer expression before ')'" msgstr "" *************** msgstr "" *** 34677,34730 **** msgid "%qD is not a variable" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.c:10986 cp/semantics.c:6815 #, fuzzy, gcc-internal-format msgid "%qD is not a pointer variable" msgstr "\"%s\" звычайна функцыÑ" ! #: c/c-parser.c:11027 cp/parser.c:31419 #, gcc-internal-format msgid "collapse argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.c:11097 cp/parser.c:31476 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:11099 cp/parser.c:31478 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.c:11199 cp/parser.c:31578 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.c:11219 c/c-parser.c:16182 c/c-parser.c:16266 cp/parser.c:31596 ! #: cp/parser.c:35638 cp/parser.c:35726 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:11266 cp/parser.c:31649 #, gcc-internal-format msgid "too many % clauses with %qs modifier" msgstr "" ! #: c/c-parser.c:11273 cp/parser.c:31656 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses" msgstr "вельмі шмат уваходзÑчых файлаў" ! #: c/c-parser.c:11275 cp/parser.c:31658 #, gcc-internal-format msgid "too many % clauses without modifier" msgstr "" ! #: c/c-parser.c:11281 cp/parser.c:31664 #, gcc-internal-format msgid "if any % clause has modifier, then all % clauses have to use modifier" msgstr "" --- 34730,34783 ---- msgid "%qD is not a variable" msgstr "\"%s\" мае незавершаны тып" ! #: c/c-parser.c:10986 cp/semantics.c:6828 #, fuzzy, gcc-internal-format msgid "%qD is not a pointer variable" msgstr "\"%s\" звычайна функцыÑ" ! #: c/c-parser.c:11027 cp/parser.c:31442 #, gcc-internal-format msgid "collapse argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.c:11097 cp/parser.c:31499 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:11099 cp/parser.c:31501 #, gcc-internal-format msgid "expected % or %" msgstr "" ! #: c/c-parser.c:11199 cp/parser.c:31601 #, gcc-internal-format msgid "expected %, %, % or %" msgstr "" ! #: c/c-parser.c:11219 c/c-parser.c:16182 c/c-parser.c:16266 cp/parser.c:31619 ! #: cp/parser.c:35661 cp/parser.c:35749 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:11266 cp/parser.c:31672 #, gcc-internal-format msgid "too many % clauses with %qs modifier" msgstr "" ! #: c/c-parser.c:11273 cp/parser.c:31679 #, fuzzy, gcc-internal-format #| msgid "too many input files" msgid "too many % clauses" msgstr "вельмі шмат уваходзÑчых файлаў" ! #: c/c-parser.c:11275 cp/parser.c:31681 #, gcc-internal-format msgid "too many % clauses without modifier" msgstr "" ! #: c/c-parser.c:11281 cp/parser.c:31687 #, gcc-internal-format msgid "if any % clause has modifier, then all % clauses have to use modifier" msgstr "" *************** msgstr "" *** 34752,34773 **** msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:11502 cp/semantics.c:6999 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:11548 cp/semantics.c:7028 #, gcc-internal-format msgid "% value must be non-negative" msgstr "" ! #: c/c-parser.c:11611 c/c-parser.c:11617 cp/parser.c:31875 cp/parser.c:31882 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:11625 c/c-parser.c:11631 cp/parser.c:31891 cp/parser.c:31898 #, gcc-internal-format msgid "expected %" msgstr "" --- 34805,34826 ---- msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:11502 cp/semantics.c:7012 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:11548 cp/semantics.c:7041 #, gcc-internal-format msgid "% value must be non-negative" msgstr "" ! #: c/c-parser.c:11611 c/c-parser.c:11617 cp/parser.c:31898 cp/parser.c:31905 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:11625 c/c-parser.c:11631 cp/parser.c:31914 cp/parser.c:31921 #, gcc-internal-format msgid "expected %" msgstr "" *************** msgstr "" *** 34777,34835 **** msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:11762 cp/parser.c:31200 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function" msgid "too many % arguments" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.c:11796 cp/parser.c:31233 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "unexpected argument" msgstr "нÑма аргументаў" ! #: c/c-parser.c:11823 cp/semantics.c:6323 #, gcc-internal-format msgid "%qs value must be positive" msgstr "" ! #: c/c-parser.c:11962 cp/semantics.c:7128 #, gcc-internal-format msgid "% argument needs positive integral constant" msgstr "" ! #: c/c-parser.c:12027 cp/parser.c:31955 #, gcc-internal-format msgid "ordered argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.c:12118 c/c-parser.c:16964 cp/parser.c:37047 #, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" msgstr "" ! #: c/c-parser.c:12227 cp/parser.c:32168 #, gcc-internal-format msgid "both % and % modifiers specified" msgstr "" ! #: c/c-parser.c:12281 cp/parser.c:32184 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.c:12285 cp/parser.c:32187 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.c:12297 cp/semantics.c:6395 #, gcc-internal-format msgid "chunk size value must be positive" msgstr "" ! #: c/c-parser.c:12320 cp/parser.c:32207 #, fuzzy, gcc-internal-format #| msgid "invalid %%-code" msgid "invalid schedule kind" --- 34830,34888 ---- msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:11762 cp/parser.c:31223 #, fuzzy, gcc-internal-format #| msgid "too many arguments to function" msgid "too many % arguments" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.c:11796 cp/parser.c:31256 #, fuzzy, gcc-internal-format #| msgid "no arguments" msgid "unexpected argument" msgstr "нÑма аргументаў" ! #: c/c-parser.c:11823 cp/semantics.c:6336 #, gcc-internal-format msgid "%qs value must be positive" msgstr "" ! #: c/c-parser.c:11962 cp/semantics.c:7141 #, gcc-internal-format msgid "% argument needs positive integral constant" msgstr "" ! #: c/c-parser.c:12027 cp/parser.c:31978 #, gcc-internal-format msgid "ordered argument needs positive constant integer expression" msgstr "" ! #: c/c-parser.c:12118 c/c-parser.c:16964 cp/parser.c:37070 #, gcc-internal-format msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" msgstr "" ! #: c/c-parser.c:12227 cp/parser.c:32191 #, gcc-internal-format msgid "both % and % modifiers specified" msgstr "" ! #: c/c-parser.c:12281 cp/parser.c:32207 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.c:12285 cp/parser.c:32210 #, gcc-internal-format msgid "schedule % does not take a % parameter" msgstr "" ! #: c/c-parser.c:12297 cp/semantics.c:6408 #, gcc-internal-format msgid "chunk size value must be positive" msgstr "" ! #: c/c-parser.c:12320 cp/parser.c:32230 #, fuzzy, gcc-internal-format #| msgid "invalid %%-code" msgid "invalid schedule kind" *************** msgstr "" *** 34845,34861 **** msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:12529 cp/semantics.c:6486 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:12573 cp/semantics.c:6596 #, gcc-internal-format msgid "% clause alignment expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.c:12636 cp/parser.c:32465 #, gcc-internal-format msgid "using parameters for % step is not supported yet" msgstr "" --- 34898,34914 ---- msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:12529 cp/semantics.c:6499 #, gcc-internal-format msgid "% value must be positive" msgstr "" ! #: c/c-parser.c:12573 cp/semantics.c:6609 #, gcc-internal-format msgid "% clause alignment expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.c:12636 cp/parser.c:32488 #, gcc-internal-format msgid "using parameters for % step is not supported yet" msgstr "" *************** msgstr "" *** 34875,34893 **** msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.c:12888 cp/parser.c:32701 cp/parser.c:32924 #, fuzzy, gcc-internal-format #| msgid "invalid %%d operand" msgid "invalid depend kind" msgstr "нерÑчаіÑны %%d аперанд" ! #: c/c-parser.c:12972 cp/parser.c:32774 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid map kind" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¼Ð°Ñка" ! #: c/c-parser.c:13068 cp/parser.c:32871 #, gcc-internal-format msgid "invalid dist_schedule kind" msgstr "" --- 34928,34946 ---- msgid "% clause expression must be positive constant integer expression" msgstr "" ! #: c/c-parser.c:12888 cp/parser.c:32724 cp/parser.c:32947 #, fuzzy, gcc-internal-format #| msgid "invalid %%d operand" msgid "invalid depend kind" msgstr "нерÑчаіÑны %%d аперанд" ! #: c/c-parser.c:12972 cp/parser.c:32797 #, fuzzy, gcc-internal-format #| msgid "invalid mask" msgid "invalid map kind" msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¼Ð°Ñка" ! #: c/c-parser.c:13068 cp/parser.c:32894 #, gcc-internal-format msgid "invalid dist_schedule kind" msgstr "" *************** msgstr "" *** 34897,34964 **** msgid "invalid proc_bind kind" msgstr "ÐерÑчаіÑны выбар %s" ! #: c/c-parser.c:13352 cp/parser.c:33149 #, gcc-internal-format msgid "expected %<#pragma acc%> clause" msgstr "" ! #: c/c-parser.c:13363 c/c-parser.c:13646 cp/parser.c:33160 cp/parser.c:33476 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "%qs is not valid for %qs" msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\"" ! #: c/c-parser.c:13509 cp/parser.c:33336 #, gcc-internal-format msgid "%qs must be the first clause of %qs" msgstr "" ! #: c/c-parser.c:13635 cp/parser.c:33465 #, gcc-internal-format msgid "expected %<#pragma omp%> clause" msgstr "" ! #: c/c-parser.c:13773 cp/parser.c:36151 #, gcc-internal-format msgid "no valid clauses specified in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13783 cp/parser.c:36161 #, gcc-internal-format msgid "array section in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13803 cp/parser.c:36181 #, gcc-internal-format msgid "%qD must be a global variable in %<#pragma acc declare link%>" msgstr "" ! #: c/c-parser.c:13814 cp/parser.c:36192 #, gcc-internal-format msgid "invalid OpenACC clause at file scope" msgstr "" ! #: c/c-parser.c:13821 cp/parser.c:36199 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13829 cp/parser.c:36207 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13841 cp/parser.c:36219 #, gcc-internal-format msgid "variable %qD used more than once with %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13933 cp/parser.c:36305 #, gcc-internal-format msgid "expected % after %<#pragma acc %s%>" msgstr "" ! #: c/c-parser.c:13949 cp/parser.c:36322 #, gcc-internal-format msgid "%<#pragma acc %s data%> has no data movement clause" msgstr "" --- 34950,35017 ---- msgid "invalid proc_bind kind" msgstr "ÐерÑчаіÑны выбар %s" ! #: c/c-parser.c:13352 cp/parser.c:33172 #, gcc-internal-format msgid "expected %<#pragma acc%> clause" msgstr "" ! #: c/c-parser.c:13363 c/c-parser.c:13646 cp/parser.c:33183 cp/parser.c:33499 #, fuzzy, gcc-internal-format #| msgid "complex invalid for `%s'" msgid "%qs is not valid for %qs" msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\"" ! #: c/c-parser.c:13509 cp/parser.c:33359 #, gcc-internal-format msgid "%qs must be the first clause of %qs" msgstr "" ! #: c/c-parser.c:13635 cp/parser.c:33488 #, gcc-internal-format msgid "expected %<#pragma omp%> clause" msgstr "" ! #: c/c-parser.c:13773 cp/parser.c:36174 #, gcc-internal-format msgid "no valid clauses specified in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13783 cp/parser.c:36184 #, gcc-internal-format msgid "array section in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13803 cp/parser.c:36204 #, gcc-internal-format msgid "%qD must be a global variable in %<#pragma acc declare link%>" msgstr "" ! #: c/c-parser.c:13814 cp/parser.c:36215 #, gcc-internal-format msgid "invalid OpenACC clause at file scope" msgstr "" ! #: c/c-parser.c:13821 cp/parser.c:36222 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13829 cp/parser.c:36230 #, gcc-internal-format msgid "invalid use of % variable %qD in %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13841 cp/parser.c:36242 #, gcc-internal-format msgid "variable %qD used more than once with %<#pragma acc declare%>" msgstr "" ! #: c/c-parser.c:13933 cp/parser.c:36328 #, gcc-internal-format msgid "expected % after %<#pragma acc %s%>" msgstr "" ! #: c/c-parser.c:13949 cp/parser.c:36345 #, gcc-internal-format msgid "%<#pragma acc %s data%> has no data movement clause" msgstr "" *************** msgstr "" *** 34973,34979 **** msgid "expected function name" msgstr "" ! #: c/c-parser.c:14191 cp/parser.c:37466 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%qD does not refer to a function" --- 35026,35032 ---- msgid "expected function name" msgstr "" ! #: c/c-parser.c:14191 cp/parser.c:37489 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%qD does not refer to a function" *************** msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ *** 34984,35025 **** msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" msgstr "" ! #: c/c-parser.c:14251 cp/parser.c:37520 cp/parser.c:37562 #, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.c:14268 cp/parser.c:37576 #, gcc-internal-format msgid "%<#pragma acc routine%> already applied to %qD" msgstr "" ! #: c/c-parser.c:14277 cp/parser.c:37585 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before use" msgstr "" ! #: c/c-parser.c:14278 cp/parser.c:37586 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before definition" msgstr "" ! #: c/c-parser.c:14321 cp/parser.c:36497 #, gcc-internal-format msgid "%<#pragma acc update%> must contain at least one % or % or % clause" msgstr "" ! #: c/c-parser.c:14729 cp/parser.c:33847 cp/parser.c:33873 #, gcc-internal-format msgid "invalid form of %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.c:14733 cp/parser.c:33904 cp/parser.c:33920 #, gcc-internal-format msgid "invalid operator for %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.c:14782 cp/semantics.c:8525 cp/semantics.c:8535 #, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" msgstr "" --- 35037,35078 ---- msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" msgstr "" ! #: c/c-parser.c:14251 cp/parser.c:37543 cp/parser.c:37585 #, gcc-internal-format msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.c:14268 cp/parser.c:37599 #, gcc-internal-format msgid "%<#pragma acc routine%> already applied to %qD" msgstr "" ! #: c/c-parser.c:14277 cp/parser.c:37608 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before use" msgstr "" ! #: c/c-parser.c:14278 cp/parser.c:37609 #, gcc-internal-format msgid "%<#pragma acc routine%> must be applied before definition" msgstr "" ! #: c/c-parser.c:14321 cp/parser.c:36520 #, gcc-internal-format msgid "%<#pragma acc update%> must contain at least one % or % or % clause" msgstr "" ! #: c/c-parser.c:14729 cp/parser.c:33870 cp/parser.c:33896 #, gcc-internal-format msgid "invalid form of %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.c:14733 cp/parser.c:33927 cp/parser.c:33943 #, gcc-internal-format msgid "invalid operator for %<#pragma omp atomic%>" msgstr "" ! #: c/c-parser.c:14782 cp/semantics.c:8538 cp/semantics.c:8548 #, gcc-internal-format msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" msgstr "" *************** msgstr "" *** 35029,35055 **** msgid "expected %<(%> or end of line" msgstr "" ! #: c/c-parser.c:14913 cp/parser.c:34451 #, gcc-internal-format msgid "% clause parameter is less than %" msgstr "" ! #: c/c-parser.c:14924 cp/parser.c:34462 #, gcc-internal-format msgid "% clause may not be specified together with % clause with a parameter" msgstr "" ! #: c/c-parser.c:14943 cp/parser.c:34490 cp/parser.c:38700 #, fuzzy, gcc-internal-format msgid "for statement expected" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.c:14949 cp/parser.c:34497 #, gcc-internal-format msgid "_Cilk_for statement expected" msgstr "" ! #: c/c-parser.c:15018 cp/semantics.c:8074 cp/semantics.c:8161 #, gcc-internal-format msgid "expected iteration declaration or initialization" msgstr "" --- 35082,35108 ---- msgid "expected %<(%> or end of line" msgstr "" ! #: c/c-parser.c:14913 cp/parser.c:34474 #, gcc-internal-format msgid "% clause parameter is less than %" msgstr "" ! #: c/c-parser.c:14924 cp/parser.c:34485 #, gcc-internal-format msgid "% clause may not be specified together with % clause with a parameter" msgstr "" ! #: c/c-parser.c:14943 cp/parser.c:34513 cp/parser.c:38723 #, fuzzy, gcc-internal-format msgid "for statement expected" msgstr "вельмі шмат аргументаў у функцыі" ! #: c/c-parser.c:14949 cp/parser.c:34520 #, gcc-internal-format msgid "_Cilk_for statement expected" msgstr "" ! #: c/c-parser.c:15018 cp/semantics.c:8087 cp/semantics.c:8174 #, gcc-internal-format msgid "expected iteration declaration or initialization" msgstr "" *************** msgstr "" *** 35059,35130 **** msgid "not enough perfectly nested loops" msgstr "" ! #: c/c-parser.c:15162 cp/parser.c:34723 #, gcc-internal-format msgid "collapsed loops not perfectly nested" msgstr "" ! #: c/c-parser.c:15209 cp/parser.c:34540 cp/parser.c:34582 cp/pt.c:15513 #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "" ! #: c/c-parser.c:15300 cp/parser.c:34796 #, gcc-internal-format msgid "% clause with parameter may not be specified on %qs construct" msgstr "" ! #: c/c-parser.c:15461 cp/parser.c:34954 #, gcc-internal-format msgid "%<#pragma omp ordered%> with % clause may only be used in compound statements" msgstr "" ! #: c/c-parser.c:15664 cp/parser.c:35147 #, gcc-internal-format msgid "expected % after %qs" msgstr "" ! #: c/c-parser.c:15863 cp/parser.c:35343 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:16083 cp/parser.c:35580 #, gcc-internal-format msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.c:16096 cp/parser.c:35593 #, gcc-internal-format msgid "%<#pragma omp target data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.c:16143 cp/parser.c:35818 #, gcc-internal-format msgid "%<#pragma omp target update%> must contain at least one % or % clauses" msgstr "" ! #: c/c-parser.c:16215 cp/parser.c:35673 #, gcc-internal-format msgid "%<#pragma omp target enter data%> with map-type other than % or % on % clause" msgstr "" ! #: c/c-parser.c:16227 cp/parser.c:35685 #, gcc-internal-format msgid "%<#pragma omp target enter data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.c:16301 cp/parser.c:35762 #, gcc-internal-format msgid "%<#pragma omp target exit data%> with map-type other than %, % or % on % clause" msgstr "" ! #: c/c-parser.c:16314 cp/parser.c:35775 #, gcc-internal-format msgid "%<#pragma omp target exit data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.c:16528 cp/parser.c:36028 #, gcc-internal-format msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" msgstr "" --- 35112,35183 ---- msgid "not enough perfectly nested loops" msgstr "" ! #: c/c-parser.c:15162 cp/parser.c:34746 #, gcc-internal-format msgid "collapsed loops not perfectly nested" msgstr "" ! #: c/c-parser.c:15209 cp/parser.c:34563 cp/parser.c:34605 cp/pt.c:15595 #, gcc-internal-format msgid "iteration variable %qD should not be firstprivate" msgstr "" ! #: c/c-parser.c:15300 cp/parser.c:34819 #, gcc-internal-format msgid "% clause with parameter may not be specified on %qs construct" msgstr "" ! #: c/c-parser.c:15461 cp/parser.c:34977 #, gcc-internal-format msgid "%<#pragma omp ordered%> with % clause may only be used in compound statements" msgstr "" ! #: c/c-parser.c:15664 cp/parser.c:35170 #, gcc-internal-format msgid "expected % after %qs" msgstr "" ! #: c/c-parser.c:15863 cp/parser.c:35366 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:16083 cp/parser.c:35603 #, gcc-internal-format msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" msgstr "" ! #: c/c-parser.c:16096 cp/parser.c:35616 #, gcc-internal-format msgid "%<#pragma omp target data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.c:16143 cp/parser.c:35841 #, gcc-internal-format msgid "%<#pragma omp target update%> must contain at least one % or % clauses" msgstr "" ! #: c/c-parser.c:16215 cp/parser.c:35696 #, gcc-internal-format msgid "%<#pragma omp target enter data%> with map-type other than % or % on % clause" msgstr "" ! #: c/c-parser.c:16227 cp/parser.c:35708 #, gcc-internal-format msgid "%<#pragma omp target enter data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.c:16301 cp/parser.c:35785 #, gcc-internal-format msgid "%<#pragma omp target exit data%> with map-type other than %, % or % on % clause" msgstr "" ! #: c/c-parser.c:16314 cp/parser.c:35798 #, gcc-internal-format msgid "%<#pragma omp target exit data%> must contain at least one % clause" msgstr "" ! #: c/c-parser.c:16528 cp/parser.c:36051 #, gcc-internal-format msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" msgstr "" *************** msgstr "" *** 35139,35145 **** msgid "%<#pragma omp declare simd%> must be followed by function declaration or definition" msgstr "" ! #: c/c-parser.c:16675 cp/parser.c:36620 #, gcc-internal-format msgid "%<#pragma omp declare simd%> or % attribute cannot be used in the same function marked as a Cilk Plus SIMD-enabled function" msgstr "" --- 35192,35198 ---- msgid "%<#pragma omp declare simd%> must be followed by function declaration or definition" msgstr "" ! #: c/c-parser.c:16675 cp/parser.c:36643 #, gcc-internal-format msgid "%<#pragma omp declare simd%> or % attribute cannot be used in the same function marked as a Cilk Plus SIMD-enabled function" msgstr "" *************** msgstr "" *** 35149,35180 **** msgid "%<#pragma omp declare simd%> not immediately followed by a function declaration or definition" msgstr "" ! #: c/c-parser.c:16697 cp/parser.c:36679 #, gcc-internal-format msgid "%<#pragma omp declare simd%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.c:16813 cp/parser.c:36749 #, gcc-internal-format msgid "%<#pragma omp declare target%> with clauses in between %<#pragma omp declare target%> without clauses and %<#pragma omp end declare target%>" msgstr "" ! #: c/c-parser.c:16832 cp/parser.c:36768 #, gcc-internal-format msgid "%qD specified both in declare target % and % clauses" msgstr "" ! #: c/c-parser.c:16873 cp/parser.c:36815 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:16880 cp/parser.c:36822 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:16886 cp/parser.c:36829 #, gcc-internal-format msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%>" msgstr "" --- 35202,35233 ---- msgid "%<#pragma omp declare simd%> not immediately followed by a function declaration or definition" msgstr "" ! #: c/c-parser.c:16697 cp/parser.c:36702 #, gcc-internal-format msgid "%<#pragma omp declare simd%> not immediately followed by a single function declaration or definition" msgstr "" ! #: c/c-parser.c:16813 cp/parser.c:36772 #, gcc-internal-format msgid "%<#pragma omp declare target%> with clauses in between %<#pragma omp declare target%> without clauses and %<#pragma omp end declare target%>" msgstr "" ! #: c/c-parser.c:16832 cp/parser.c:36791 #, gcc-internal-format msgid "%qD specified both in declare target % and % clauses" msgstr "" ! #: c/c-parser.c:16873 cp/parser.c:36838 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:16880 cp/parser.c:36845 #, gcc-internal-format msgid "expected %" msgstr "" ! #: c/c-parser.c:16886 cp/parser.c:36852 #, gcc-internal-format msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%>" msgstr "" *************** msgstr "" *** 35229,35250 **** msgid "one of the initializer call arguments should be %<&omp_priv%>" msgstr "" ! #: c/c-parser.c:17286 cp/parser.c:37274 #, gcc-internal-format msgid "expected % or % or %" msgstr "" ! #: c/c-parser.c:17501 cp/semantics.c:7539 #, gcc-internal-format msgid "%qE declared % after first use" msgstr "" ! #: c/c-parser.c:17503 cp/semantics.c:7541 #, gcc-internal-format msgid "automatic variable %qE cannot be %" msgstr "" ! #: c/c-parser.c:17507 cp/semantics.c:7543 #, fuzzy, gcc-internal-format msgid "% %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" --- 35282,35303 ---- msgid "one of the initializer call arguments should be %<&omp_priv%>" msgstr "" ! #: c/c-parser.c:17286 cp/parser.c:37297 #, gcc-internal-format msgid "expected % or % or %" msgstr "" ! #: c/c-parser.c:17501 cp/semantics.c:7552 #, gcc-internal-format msgid "%qE declared % after first use" msgstr "" ! #: c/c-parser.c:17503 cp/semantics.c:7554 #, gcc-internal-format msgid "automatic variable %qE cannot be %" msgstr "" ! #: c/c-parser.c:17507 cp/semantics.c:7556 #, fuzzy, gcc-internal-format msgid "% %qE has incomplete type" msgstr "\"%s\" мае незавершаны тып" *************** msgstr "" *** 35259,35310 **** msgid "pragma simd must be inside a function" msgstr "" ! #: c/c-parser.c:17588 cp/parser.c:38471 #, gcc-internal-format msgid "vectorlength must be an integer constant" msgstr "" ! #: c/c-parser.c:17590 cp/parser.c:38474 #, gcc-internal-format msgid "vectorlength must be a power of 2" msgstr "" ! #: c/c-parser.c:17673 cp/parser.c:38581 #, gcc-internal-format msgid "step size must be an integer constant expression or an integer variable" msgstr "" ! #: c/c-parser.c:17772 cp/parser.c:38674 #, gcc-internal-format msgid "expected %<#pragma simd%> clause" msgstr "" ! #: c/c-parser.c:17816 cp/parser.c:38077 #, gcc-internal-format msgid "%<#pragma cilk grainsize%> is not followed by %<_Cilk_for%>" msgstr "" ! #: c/c-parser.c:18116 cp/parser.c:37969 #, gcc-internal-format msgid "%<__transaction_cancel%> without transactional memory support enabled" msgstr "" ! #: c/c-parser.c:18122 cp/parser.c:37975 #, gcc-internal-format msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" msgstr "" ! #: c/c-parser.c:18131 cp/parser.c:37984 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" msgstr "" ! #: c/c-parser.c:18133 cp/parser.c:37987 #, gcc-internal-format msgid " or a % function" msgstr "" ! #: c/c-parser.c:18139 cp/parser.c:37993 #, gcc-internal-format msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" msgstr "" --- 35312,35363 ---- msgid "pragma simd must be inside a function" msgstr "" ! #: c/c-parser.c:17588 cp/parser.c:38494 #, gcc-internal-format msgid "vectorlength must be an integer constant" msgstr "" ! #: c/c-parser.c:17590 cp/parser.c:38497 #, gcc-internal-format msgid "vectorlength must be a power of 2" msgstr "" ! #: c/c-parser.c:17673 cp/parser.c:38604 #, gcc-internal-format msgid "step size must be an integer constant expression or an integer variable" msgstr "" ! #: c/c-parser.c:17772 cp/parser.c:38697 #, gcc-internal-format msgid "expected %<#pragma simd%> clause" msgstr "" ! #: c/c-parser.c:17816 cp/parser.c:38100 #, gcc-internal-format msgid "%<#pragma cilk grainsize%> is not followed by %<_Cilk_for%>" msgstr "" ! #: c/c-parser.c:18116 cp/parser.c:37992 #, gcc-internal-format msgid "%<__transaction_cancel%> without transactional memory support enabled" msgstr "" ! #: c/c-parser.c:18122 cp/parser.c:37998 #, gcc-internal-format msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" msgstr "" ! #: c/c-parser.c:18131 cp/parser.c:38007 #, gcc-internal-format msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" msgstr "" ! #: c/c-parser.c:18133 cp/parser.c:38010 #, gcc-internal-format msgid " or a % function" msgstr "" ! #: c/c-parser.c:18139 cp/parser.c:38016 #, gcc-internal-format msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" msgstr "" *************** msgstr "" *** 35314,35320 **** msgid "base of array section must be pointer or array type" msgstr "" ! #: c/c-parser.c:18216 cp/parser.c:7104 #, gcc-internal-format msgid "expected %<:%> or numeral" msgstr "" --- 35367,35373 ---- msgid "base of array section must be pointer or array type" msgstr "" ! #: c/c-parser.c:18216 cp/parser.c:7109 #, gcc-internal-format msgid "expected %<:%> or numeral" msgstr "" *************** msgstr "" *** 36034,36040 **** msgid "initialization left-hand side might be a candidate for a format attribute" msgstr "" ! #: c/c-typeck.c:6623 cp/typeck.c:8583 #, gcc-internal-format msgid "return type might be a candidate for a format attribute" msgstr "" --- 36087,36093 ---- msgid "initialization left-hand side might be a candidate for a format attribute" msgstr "" ! #: c/c-typeck.c:6623 cp/typeck.c:8584 #, gcc-internal-format msgid "return type might be a candidate for a format attribute" msgstr "" *************** msgstr "" *** 36363,36369 **** msgid "ISO C forbids %" msgstr "ISO C не падтрымлівае \"goto *expr;\"" ! #: c/c-typeck.c:9860 c/gimple-parser.c:1544 cp/typeck.c:8812 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function declared % has a % statement" --- 36416,36422 ---- msgid "ISO C forbids %" msgstr "ISO C не падтрымлівае \"goto *expr;\"" ! #: c/c-typeck.c:9860 c/gimple-parser.c:1544 cp/typeck.c:8813 #, fuzzy, gcc-internal-format #| msgid "function does not return string type" msgid "function declared % has a % statement" *************** msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае *** 36374,36380 **** msgid "array notation expression cannot be used as a return value" msgstr "" ! #: c/c-typeck.c:9877 cp/typeck.c:8803 #, gcc-internal-format msgid "use of %<_Cilk_spawn%> in a return statement is not allowed" msgstr "" --- 36427,36433 ---- msgid "array notation expression cannot be used as a return value" msgstr "" ! #: c/c-typeck.c:9877 cp/typeck.c:8804 #, gcc-internal-format msgid "use of %<_Cilk_spawn%> in a return statement is not allowed" msgstr "" *************** msgstr "" *** 36399,36405 **** msgid "function returns address of label" msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл" ! #: c/c-typeck.c:10093 cp/semantics.c:1154 #, gcc-internal-format msgid "switch quantity not an integer" msgstr "" --- 36452,36458 ---- msgid "function returns address of label" msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл" ! #: c/c-typeck.c:10093 cp/semantics.c:1157 #, gcc-internal-format msgid "switch quantity not an integer" msgstr "" *************** msgstr "" *** 36414,36420 **** msgid "case label is not an integer constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: c/c-typeck.c:10170 cp/parser.c:10824 #, gcc-internal-format msgid "case label not within a switch statement" msgstr "" --- 36467,36473 ---- msgid "case label is not an integer constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: c/c-typeck.c:10170 cp/parser.c:10833 #, gcc-internal-format msgid "case label not within a switch statement" msgstr "" *************** msgstr "" *** 36434,36450 **** msgid "rank-mismatch between if-statement%'s condition and the else-block" msgstr "" ! #: c/c-typeck.c:10374 cp/parser.c:12094 #, gcc-internal-format msgid "break statement not within loop or switch" msgstr "" ! #: c/c-typeck.c:10376 cp/parser.c:12120 #, gcc-internal-format msgid "continue statement not within a loop" msgstr "" ! #: c/c-typeck.c:10381 cp/parser.c:12107 #, gcc-internal-format msgid "break statement used with OpenMP for loop" msgstr "" --- 36487,36503 ---- msgid "rank-mismatch between if-statement%'s condition and the else-block" msgstr "" ! #: c/c-typeck.c:10374 cp/parser.c:12103 #, gcc-internal-format msgid "break statement not within loop or switch" msgstr "" ! #: c/c-typeck.c:10376 cp/parser.c:12129 #, gcc-internal-format msgid "continue statement not within a loop" msgstr "" ! #: c/c-typeck.c:10381 cp/parser.c:12116 #, gcc-internal-format msgid "break statement used with OpenMP for loop" msgstr "" *************** msgstr "" *** 36454,36460 **** msgid "break statement within %<#pragma simd%> loop body" msgstr "" ! #: c/c-typeck.c:10388 cp/parser.c:12124 #, gcc-internal-format msgid "continue statement within %<#pragma simd%> loop body" msgstr "" --- 36507,36513 ---- msgid "break statement within %<#pragma simd%> loop body" msgstr "" ! #: c/c-typeck.c:10388 cp/parser.c:12133 #, gcc-internal-format msgid "continue statement within %<#pragma simd%> loop body" msgstr "" *************** msgstr "" *** 36560,36571 **** msgid "used vector type where scalar is required" msgstr "" ! #: c/c-typeck.c:12108 cp/semantics.c:8632 #, gcc-internal-format msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.c:12147 cp/semantics.c:8669 #, gcc-internal-format msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" msgstr "" --- 36613,36624 ---- msgid "used vector type where scalar is required" msgstr "" ! #: c/c-typeck.c:12108 cp/semantics.c:8645 #, gcc-internal-format msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" msgstr "" ! #: c/c-typeck.c:12147 cp/semantics.c:8682 #, gcc-internal-format msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" msgstr "" *************** msgstr "" *** 36575,36599 **** msgid "%<_Atomic%> %qE in %qs clause" msgstr "" ! #: c/c-typeck.c:12204 c/c-typeck.c:13413 cp/semantics.c:4535 ! #: cp/semantics.c:6724 #, gcc-internal-format msgid "bit-field %qE in %qs clause" msgstr "" ! #: c/c-typeck.c:12213 c/c-typeck.c:13437 cp/semantics.c:4545 ! #: cp/semantics.c:6742 #, gcc-internal-format msgid "%qE is a member of a union" msgstr "" ! #: c/c-typeck.c:12223 cp/semantics.c:4559 cp/semantics.c:6767 #, gcc-internal-format msgid "%qD is not a variable in %qs clause" msgstr "" ! #: c/c-typeck.c:12227 c/c-typeck.c:13454 cp/semantics.c:4563 ! #: cp/semantics.c:6770 #, gcc-internal-format msgid "%qE is not a variable in %qs clause" msgstr "" --- 36628,36652 ---- msgid "%<_Atomic%> %qE in %qs clause" msgstr "" ! #: c/c-typeck.c:12204 c/c-typeck.c:13413 cp/semantics.c:4548 ! #: cp/semantics.c:6737 #, gcc-internal-format msgid "bit-field %qE in %qs clause" msgstr "" ! #: c/c-typeck.c:12213 c/c-typeck.c:13437 cp/semantics.c:4558 ! #: cp/semantics.c:6755 #, gcc-internal-format msgid "%qE is a member of a union" msgstr "" ! #: c/c-typeck.c:12223 cp/semantics.c:4572 cp/semantics.c:6780 #, gcc-internal-format msgid "%qD is not a variable in %qs clause" msgstr "" ! #: c/c-typeck.c:12227 c/c-typeck.c:13454 cp/semantics.c:4576 ! #: cp/semantics.c:6783 #, gcc-internal-format msgid "%qE is not a variable in %qs clause" msgstr "" *************** msgid "%<_Atomic%> %qD in %qs clause" *** 36604,36673 **** msgstr "" #: c/c-typeck.c:12243 c/c-typeck.c:13461 c/c-typeck.c:13563 ! #: cp/semantics.c:4580 cp/semantics.c:6776 cp/semantics.c:6938 #, gcc-internal-format msgid "%qD is threadprivate variable in %qs clause" msgstr "" ! #: c/c-typeck.c:12279 cp/semantics.c:4612 #, gcc-internal-format msgid "low bound %qE of array section does not have integral type" msgstr "" ! #: c/c-typeck.c:12286 cp/semantics.c:4619 #, gcc-internal-format msgid "length %qE of array section does not have integral type" msgstr "" #: c/c-typeck.c:12313 c/c-typeck.c:12377 c/c-typeck.c:12635 ! #: cp/semantics.c:4655 cp/semantics.c:4719 #, gcc-internal-format msgid "zero length array section in %qs clause" msgstr "" ! #: c/c-typeck.c:12332 cp/semantics.c:4674 #, gcc-internal-format msgid "for unknown bound array type length expression must be specified" msgstr "" ! #: c/c-typeck.c:12340 cp/semantics.c:4682 #, gcc-internal-format msgid "negative low bound in array section in %qs clause" msgstr "" ! #: c/c-typeck.c:12349 c/c-typeck.c:12459 cp/semantics.c:4691 ! #: cp/semantics.c:4801 #, gcc-internal-format msgid "negative length in array section in %qs clause" msgstr "" ! #: c/c-typeck.c:12366 cp/semantics.c:4708 #, gcc-internal-format msgid "low bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.c:12403 cp/semantics.c:4745 #, gcc-internal-format msgid "length %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.c:12418 cp/semantics.c:4760 #, gcc-internal-format msgid "high bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.c:12451 cp/semantics.c:4793 #, gcc-internal-format msgid "for pointer type length expression must be specified" msgstr "" ! #: c/c-typeck.c:12469 c/c-typeck.c:12578 cp/semantics.c:4811 ! #: cp/semantics.c:4923 #, gcc-internal-format msgid "array section is not contiguous in %qs clause" msgstr "" ! #: c/c-typeck.c:12477 cp/semantics.c:4819 #, gcc-internal-format msgid "%qE does not have pointer or array type" msgstr "" --- 36657,36726 ---- msgstr "" #: c/c-typeck.c:12243 c/c-typeck.c:13461 c/c-typeck.c:13563 ! #: cp/semantics.c:4593 cp/semantics.c:6789 cp/semantics.c:6951 #, gcc-internal-format msgid "%qD is threadprivate variable in %qs clause" msgstr "" ! #: c/c-typeck.c:12279 cp/semantics.c:4625 #, gcc-internal-format msgid "low bound %qE of array section does not have integral type" msgstr "" ! #: c/c-typeck.c:12286 cp/semantics.c:4632 #, gcc-internal-format msgid "length %qE of array section does not have integral type" msgstr "" #: c/c-typeck.c:12313 c/c-typeck.c:12377 c/c-typeck.c:12635 ! #: cp/semantics.c:4668 cp/semantics.c:4732 #, gcc-internal-format msgid "zero length array section in %qs clause" msgstr "" ! #: c/c-typeck.c:12332 cp/semantics.c:4687 #, gcc-internal-format msgid "for unknown bound array type length expression must be specified" msgstr "" ! #: c/c-typeck.c:12340 cp/semantics.c:4695 #, gcc-internal-format msgid "negative low bound in array section in %qs clause" msgstr "" ! #: c/c-typeck.c:12349 c/c-typeck.c:12459 cp/semantics.c:4704 ! #: cp/semantics.c:4814 #, gcc-internal-format msgid "negative length in array section in %qs clause" msgstr "" ! #: c/c-typeck.c:12366 cp/semantics.c:4721 #, gcc-internal-format msgid "low bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.c:12403 cp/semantics.c:4758 #, gcc-internal-format msgid "length %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.c:12418 cp/semantics.c:4773 #, gcc-internal-format msgid "high bound %qE above array section size in %qs clause" msgstr "" ! #: c/c-typeck.c:12451 cp/semantics.c:4806 #, gcc-internal-format msgid "for pointer type length expression must be specified" msgstr "" ! #: c/c-typeck.c:12469 c/c-typeck.c:12578 cp/semantics.c:4824 ! #: cp/semantics.c:4936 #, gcc-internal-format msgid "array section is not contiguous in %qs clause" msgstr "" ! #: c/c-typeck.c:12477 cp/semantics.c:4832 #, gcc-internal-format msgid "%qE does not have pointer or array type" msgstr "" *************** msgstr "" *** 36687,36693 **** msgid "%qE has invalid type for %" msgstr "" ! #: c/c-typeck.c:12955 cp/semantics.c:5734 #, gcc-internal-format msgid "user defined reduction not found for %qE" msgstr "" --- 36740,36746 ---- msgid "%qE has invalid type for %" msgstr "" ! #: c/c-typeck.c:12955 cp/semantics.c:5747 #, gcc-internal-format msgid "user defined reduction not found for %qE" msgstr "" *************** msgstr "" *** 36697,36713 **** msgid "variable length element type in array % clause" msgstr "" ! #: c/c-typeck.c:13061 c/c-typeck.c:13621 cp/semantics.c:7257 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.c:13073 cp/semantics.c:7297 #, gcc-internal-format msgid "%qE must be % for %" msgstr "" ! #: c/c-typeck.c:13087 cp/semantics.c:5908 #, gcc-internal-format msgid "modifier should not be specified in % clause on % or % constructs" msgstr "" --- 36750,36766 ---- msgid "variable length element type in array % clause" msgstr "" ! #: c/c-typeck.c:13061 c/c-typeck.c:13621 cp/semantics.c:7270 #, gcc-internal-format msgid "% clause must not be used together with %" msgstr "" ! #: c/c-typeck.c:13073 cp/semantics.c:7310 #, gcc-internal-format msgid "%qE must be % for %" msgstr "" ! #: c/c-typeck.c:13087 cp/semantics.c:5921 #, gcc-internal-format msgid "modifier should not be specified in % clause on % or % constructs" msgstr "" *************** msgstr "" *** 36727,36744 **** msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.c:13139 cp/semantics.c:5991 #, gcc-internal-format msgid "% clause step %qE is neither constant nor a parameter" msgstr "" ! #: c/c-typeck.c:13169 c/c-typeck.c:13556 cp/semantics.c:6075 ! #: cp/semantics.c:6931 #, gcc-internal-format msgid "%qE is not a variable in clause %qs" msgstr "" ! #: c/c-typeck.c:13178 cp/semantics.c:6084 #, gcc-internal-format msgid "%qD appears more than once in reduction clauses" msgstr "" --- 36780,36797 ---- msgid "%<_Atomic%> %qD in % clause" msgstr "" ! #: c/c-typeck.c:13139 cp/semantics.c:6004 #, gcc-internal-format msgid "% clause step %qE is neither constant nor a parameter" msgstr "" ! #: c/c-typeck.c:13169 c/c-typeck.c:13556 cp/semantics.c:6088 ! #: cp/semantics.c:6944 #, gcc-internal-format msgid "%qE is not a variable in clause %qs" msgstr "" ! #: c/c-typeck.c:13178 cp/semantics.c:6097 #, gcc-internal-format msgid "%qD appears more than once in reduction clauses" msgstr "" *************** msgstr "" *** 36750,36781 **** #: c/c-typeck.c:13196 c/c-typeck.c:13225 c/c-typeck.c:13385 c/c-typeck.c:13499 #: c/c-typeck.c:13505 c/c-typeck.c:13518 c/c-typeck.c:13527 ! #: cp/semantics.c:6094 cp/semantics.c:6101 cp/semantics.c:6152 ! #: cp/semantics.c:6158 cp/semantics.c:6195 cp/semantics.c:6687 ! #: cp/semantics.c:6824 cp/semantics.c:6830 cp/semantics.c:6843 ! #: cp/semantics.c:6852 #, gcc-internal-format msgid "%qD appears more than once in data clauses" msgstr "" #: c/c-typeck.c:13198 c/c-typeck.c:13227 c/c-typeck.c:13507 c/c-typeck.c:13529 ! #: cp/semantics.c:6103 cp/semantics.c:6160 cp/semantics.c:6832 ! #: cp/semantics.c:6854 #, gcc-internal-format msgid "%qD appears both in data and map clauses" msgstr "" ! #: c/c-typeck.c:13212 cp/semantics.c:6146 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.c:13241 cp/semantics.c:6189 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.c:13260 cp/semantics.c:6552 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" --- 36803,36834 ---- #: c/c-typeck.c:13196 c/c-typeck.c:13225 c/c-typeck.c:13385 c/c-typeck.c:13499 #: c/c-typeck.c:13505 c/c-typeck.c:13518 c/c-typeck.c:13527 ! #: cp/semantics.c:6107 cp/semantics.c:6114 cp/semantics.c:6165 ! #: cp/semantics.c:6171 cp/semantics.c:6208 cp/semantics.c:6700 ! #: cp/semantics.c:6837 cp/semantics.c:6843 cp/semantics.c:6856 ! #: cp/semantics.c:6865 #, gcc-internal-format msgid "%qD appears more than once in data clauses" msgstr "" #: c/c-typeck.c:13198 c/c-typeck.c:13227 c/c-typeck.c:13507 c/c-typeck.c:13529 ! #: cp/semantics.c:6116 cp/semantics.c:6173 cp/semantics.c:6845 ! #: cp/semantics.c:6867 #, gcc-internal-format msgid "%qD appears both in data and map clauses" msgstr "" ! #: c/c-typeck.c:13212 cp/semantics.c:6159 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.c:13241 cp/semantics.c:6202 #, gcc-internal-format msgid "%qE is not a variable in clause %" msgstr "" ! #: c/c-typeck.c:13260 cp/semantics.c:6565 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" *************** msgstr "" *** 36795,36849 **** msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.c:13336 cp/semantics.c:6634 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.c:13358 cp/semantics.c:6665 #, gcc-internal-format msgid "array section does not have mappable type in %qs clause" msgstr "" ! #: c/c-typeck.c:13382 c/c-typeck.c:13516 cp/semantics.c:6684 ! #: cp/semantics.c:6841 #, gcc-internal-format msgid "%qD appears more than once in motion clauses" msgstr "" ! #: c/c-typeck.c:13388 c/c-typeck.c:13520 cp/semantics.c:6690 ! #: cp/semantics.c:6845 #, gcc-internal-format msgid "%qD appears more than once in map clauses" msgstr "" ! #: c/c-typeck.c:13420 cp/semantics.c:6731 #, gcc-internal-format msgid "%qE does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.c:13480 c/c-typeck.c:13570 cp/semantics.c:6806 ! #: cp/semantics.c:6945 #, gcc-internal-format msgid "%qD does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.c:13551 cp/semantics.c:6925 #, gcc-internal-format msgid "%qE is neither a variable nor a function name in clause %qs" msgstr "" ! #: c/c-typeck.c:13579 cp/semantics.c:6954 #, gcc-internal-format msgid "%qE appears more than once on the same % directive" msgstr "" ! #: c/c-typeck.c:13593 cp/semantics.c:6969 #, gcc-internal-format msgid "%qD is not an argument in % clause" msgstr "" ! #: c/c-typeck.c:13596 cp/semantics.c:6971 #, gcc-internal-format msgid "%qE is not an argument in % clause" msgstr "" --- 36848,36902 ---- msgid "%qE appears more than once in % clauses" msgstr "" ! #: c/c-typeck.c:13336 cp/semantics.c:6647 #, gcc-internal-format msgid "%qE is not a variable in % clause" msgstr "" ! #: c/c-typeck.c:13358 cp/semantics.c:6678 #, gcc-internal-format msgid "array section does not have mappable type in %qs clause" msgstr "" ! #: c/c-typeck.c:13382 c/c-typeck.c:13516 cp/semantics.c:6697 ! #: cp/semantics.c:6854 #, gcc-internal-format msgid "%qD appears more than once in motion clauses" msgstr "" ! #: c/c-typeck.c:13388 c/c-typeck.c:13520 cp/semantics.c:6703 ! #: cp/semantics.c:6858 #, gcc-internal-format msgid "%qD appears more than once in map clauses" msgstr "" ! #: c/c-typeck.c:13420 cp/semantics.c:6744 #, gcc-internal-format msgid "%qE does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.c:13480 c/c-typeck.c:13570 cp/semantics.c:6819 ! #: cp/semantics.c:6958 #, gcc-internal-format msgid "%qD does not have a mappable type in %qs clause" msgstr "" ! #: c/c-typeck.c:13551 cp/semantics.c:6938 #, gcc-internal-format msgid "%qE is neither a variable nor a function name in clause %qs" msgstr "" ! #: c/c-typeck.c:13579 cp/semantics.c:6967 #, gcc-internal-format msgid "%qE appears more than once on the same % directive" msgstr "" ! #: c/c-typeck.c:13593 cp/semantics.c:6982 #, gcc-internal-format msgid "%qD is not an argument in % clause" msgstr "" ! #: c/c-typeck.c:13596 cp/semantics.c:6984 #, gcc-internal-format msgid "%qE is not an argument in % clause" msgstr "" *************** msgstr "" *** 36853,36884 **** msgid "%qs variable is neither a pointer nor an array" msgstr "" ! #: c/c-typeck.c:13686 cp/semantics.c:6351 #, gcc-internal-format msgid "% modifier specified for %qs schedule kind" msgstr "" ! #: c/c-typeck.c:13717 cp/semantics.c:7149 #, gcc-internal-format msgid "% clause is incompatible with %" msgstr "" ! #: c/c-typeck.c:13767 cp/semantics.c:7340 #, gcc-internal-format msgid "%qE is predetermined %qs for %qs" msgstr "" ! #: c/c-typeck.c:13787 cp/semantics.c:7231 #, gcc-internal-format msgid "% clause value is bigger than % clause value" msgstr "" ! #: c/c-typeck.c:13799 cp/semantics.c:7244 #, gcc-internal-format msgid "% schedule modifier specified together with % clause" msgstr "" ! #: c/c-typeck.c:13817 cp/semantics.c:7211 #, gcc-internal-format msgid "% clause step is a parameter %qD not specified in % clause" msgstr "" --- 36906,36937 ---- msgid "%qs variable is neither a pointer nor an array" msgstr "" ! #: c/c-typeck.c:13686 cp/semantics.c:6364 #, gcc-internal-format msgid "% modifier specified for %qs schedule kind" msgstr "" ! #: c/c-typeck.c:13717 cp/semantics.c:7162 #, gcc-internal-format msgid "% clause is incompatible with %" msgstr "" ! #: c/c-typeck.c:13767 cp/semantics.c:7353 #, gcc-internal-format msgid "%qE is predetermined %qs for %qs" msgstr "" ! #: c/c-typeck.c:13787 cp/semantics.c:7244 #, gcc-internal-format msgid "% clause value is bigger than % clause value" msgstr "" ! #: c/c-typeck.c:13799 cp/semantics.c:7257 #, gcc-internal-format msgid "% schedule modifier specified together with % clause" msgstr "" ! #: c/c-typeck.c:13817 cp/semantics.c:7224 #, gcc-internal-format msgid "% clause step is a parameter %qD not specified in % clause" msgstr "" *************** msgstr "" *** 37430,37583 **** msgid "use of multiversioned function without a default" msgstr "" ! #: cp/call.c:7710 #, gcc-internal-format msgid "passing %qT as % argument discards qualifiers" msgstr "" ! #: cp/call.c:7713 cp/call.c:7829 cp/call.c:9587 cp/name-lookup.c:5963 #, gcc-internal-format msgid " in call to %qD" msgstr "" ! #: cp/call.c:7743 #, gcc-internal-format msgid "%qT is not an accessible base of %qT" msgstr "" ! #: cp/call.c:7825 #, gcc-internal-format msgid "deducing %qT as %qT" msgstr "" ! #: cp/call.c:7831 #, gcc-internal-format msgid " (you can disable this with -fno-deduce-init-list)" msgstr "" ! #: cp/call.c:7931 #, gcc-internal-format msgid "passing arguments to ellipsis of inherited constructor %qD" msgstr "" ! #: cp/call.c:8275 #, gcc-internal-format msgid "constructor delegates to itself" msgstr "" ! #: cp/call.c:8525 #, gcc-internal-format msgid "call to non-function %qD" msgstr "" ! #: cp/call.c:8571 cp/pt.c:14200 cp/typeck.c:2807 #, gcc-internal-format msgid "cannot call constructor %<%T::%D%> directly" msgstr "" ! #: cp/call.c:8573 #, gcc-internal-format msgid "for a function-style cast, remove the redundant %<::%D%>" msgstr "" ! #: cp/call.c:8708 #, gcc-internal-format msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" msgstr "" ! #: cp/call.c:8724 #, gcc-internal-format msgid "no matching function for call to %<%T::%E(%A)%#V%>" msgstr "" ! #: cp/call.c:8748 #, gcc-internal-format msgid "no matching function for call to %<%s(%A)%>" msgstr "" ! #: cp/call.c:8751 #, gcc-internal-format msgid "call of overloaded %<%s(%A)%> is ambiguous" msgstr "" ! #: cp/call.c:8772 #, gcc-internal-format msgid "pure virtual %q#D called from non-static data member initializer" msgstr "" ! #: cp/call.c:8777 #, gcc-internal-format msgid "pure virtual %q#D called from constructor" msgstr "" ! #: cp/call.c:8778 #, gcc-internal-format msgid "pure virtual %q#D called from destructor" msgstr "" ! #: cp/call.c:8801 #, gcc-internal-format msgid "cannot call member function %qD without object" msgstr "" ! #: cp/call.c:9585 #, gcc-internal-format msgid "passing %qT chooses %qT over %qT" msgstr "" ! #: cp/call.c:9645 #, gcc-internal-format msgid "choosing %qD over %qD" msgstr "" ! #: cp/call.c:9646 #, fuzzy, gcc-internal-format #| msgid "converting from `%T' to `%T'" msgid " for conversion from %qT to %qT" msgstr "пераўтварÑньне з `%T' у `%T'" ! #: cp/call.c:9649 #, gcc-internal-format msgid " because conversion sequence for the argument is better" msgstr "" ! #: cp/call.c:9873 #, gcc-internal-format msgid "default argument mismatch in overload resolution" msgstr "" ! #: cp/call.c:9877 #, gcc-internal-format msgid " candidate 1: %q#F" msgstr "" ! #: cp/call.c:9879 #, gcc-internal-format msgid " candidate 2: %q#F" msgstr "" ! #: cp/call.c:9924 #, gcc-internal-format msgid "ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:" msgstr "" ! #: cp/call.c:10102 #, fuzzy, gcc-internal-format #| msgid "converting from `%T' to `%T'" msgid "could not convert %qE from %qT to %qT" msgstr "пераўтварÑньне з `%T' у `%T'" ! #: cp/call.c:10296 #, gcc-internal-format msgid "a temporary bound to %qD only persists until the constructor exits" msgstr "" ! #: cp/call.c:10419 #, gcc-internal-format msgid "invalid initialization of non-const reference of type %qT from an rvalue of type %qT" msgstr "" ! #: cp/call.c:10423 #, gcc-internal-format msgid "invalid initialization of reference of type %qT from expression of type %qT" msgstr "" --- 37483,37636 ---- msgid "use of multiversioned function without a default" msgstr "" ! #: cp/call.c:7713 #, gcc-internal-format msgid "passing %qT as % argument discards qualifiers" msgstr "" ! #: cp/call.c:7716 cp/call.c:7832 cp/call.c:9592 cp/name-lookup.c:5962 #, gcc-internal-format msgid " in call to %qD" msgstr "" ! #: cp/call.c:7746 #, gcc-internal-format msgid "%qT is not an accessible base of %qT" msgstr "" ! #: cp/call.c:7828 #, gcc-internal-format msgid "deducing %qT as %qT" msgstr "" ! #: cp/call.c:7834 #, gcc-internal-format msgid " (you can disable this with -fno-deduce-init-list)" msgstr "" ! #: cp/call.c:7934 #, gcc-internal-format msgid "passing arguments to ellipsis of inherited constructor %qD" msgstr "" ! #: cp/call.c:8280 #, gcc-internal-format msgid "constructor delegates to itself" msgstr "" ! #: cp/call.c:8530 #, gcc-internal-format msgid "call to non-function %qD" msgstr "" ! #: cp/call.c:8576 cp/pt.c:14282 cp/typeck.c:2807 #, gcc-internal-format msgid "cannot call constructor %<%T::%D%> directly" msgstr "" ! #: cp/call.c:8578 #, gcc-internal-format msgid "for a function-style cast, remove the redundant %<::%D%>" msgstr "" ! #: cp/call.c:8713 #, gcc-internal-format msgid "no matching function for call to %<%T::operator %T(%A)%#V%>" msgstr "" ! #: cp/call.c:8729 #, gcc-internal-format msgid "no matching function for call to %<%T::%E(%A)%#V%>" msgstr "" ! #: cp/call.c:8753 #, gcc-internal-format msgid "no matching function for call to %<%s(%A)%>" msgstr "" ! #: cp/call.c:8756 #, gcc-internal-format msgid "call of overloaded %<%s(%A)%> is ambiguous" msgstr "" ! #: cp/call.c:8777 #, gcc-internal-format msgid "pure virtual %q#D called from non-static data member initializer" msgstr "" ! #: cp/call.c:8782 #, gcc-internal-format msgid "pure virtual %q#D called from constructor" msgstr "" ! #: cp/call.c:8783 #, gcc-internal-format msgid "pure virtual %q#D called from destructor" msgstr "" ! #: cp/call.c:8806 #, gcc-internal-format msgid "cannot call member function %qD without object" msgstr "" ! #: cp/call.c:9590 #, gcc-internal-format msgid "passing %qT chooses %qT over %qT" msgstr "" ! #: cp/call.c:9650 #, gcc-internal-format msgid "choosing %qD over %qD" msgstr "" ! #: cp/call.c:9651 #, fuzzy, gcc-internal-format #| msgid "converting from `%T' to `%T'" msgid " for conversion from %qT to %qT" msgstr "пераўтварÑньне з `%T' у `%T'" ! #: cp/call.c:9654 #, gcc-internal-format msgid " because conversion sequence for the argument is better" msgstr "" ! #: cp/call.c:9878 #, gcc-internal-format msgid "default argument mismatch in overload resolution" msgstr "" ! #: cp/call.c:9882 #, gcc-internal-format msgid " candidate 1: %q#F" msgstr "" ! #: cp/call.c:9884 #, gcc-internal-format msgid " candidate 2: %q#F" msgstr "" ! #: cp/call.c:9929 #, gcc-internal-format msgid "ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:" msgstr "" ! #: cp/call.c:10107 #, fuzzy, gcc-internal-format #| msgid "converting from `%T' to `%T'" msgid "could not convert %qE from %qT to %qT" msgstr "пераўтварÑньне з `%T' у `%T'" ! #: cp/call.c:10301 #, gcc-internal-format msgid "a temporary bound to %qD only persists until the constructor exits" msgstr "" ! #: cp/call.c:10424 #, gcc-internal-format msgid "invalid initialization of non-const reference of type %qT from an rvalue of type %qT" msgstr "" ! #: cp/call.c:10428 #, gcc-internal-format msgid "invalid initialization of reference of type %qT from expression of type %qT" msgstr "" *************** msgstr "" *** 37679,38106 **** msgid "cannot derive from % base %qT in derived type %qT" msgstr "" ! #: cp/class.c:2231 #, gcc-internal-format msgid "all member functions in class %qT are private" msgstr "" ! #: cp/class.c:2243 #, gcc-internal-format msgid "%q#T only defines a private destructor and has no friends" msgstr "" ! #: cp/class.c:2288 #, gcc-internal-format msgid "%q#T only defines private constructors and has no friends" msgstr "" ! #: cp/class.c:2681 #, gcc-internal-format msgid "no unique final overrider for %qD in %qT" msgstr "" ! #: cp/class.c:3042 #, gcc-internal-format msgid "%qD can be marked override" msgstr "" ! #: cp/class.c:3054 #, gcc-internal-format msgid "%q+#D marked %, but is not virtual" msgstr "" ! #: cp/class.c:3056 #, gcc-internal-format msgid "%q+#D marked %, but does not override" msgstr "" ! #: cp/class.c:3126 #, gcc-internal-format msgid "%qD was hidden" msgstr "" ! #: cp/class.c:3128 #, gcc-internal-format msgid " by %qD" msgstr "" ! #: cp/class.c:3162 cp/decl2.c:1483 #, gcc-internal-format msgid "%q#D invalid; an anonymous union can only have non-static data members" msgstr "" ! #: cp/class.c:3166 #, gcc-internal-format msgid "%q#D invalid; an anonymous struct can only have non-static data members" msgstr "" ! #: cp/class.c:3178 cp/decl2.c:1490 #, gcc-internal-format msgid "private member %q#D in anonymous union" msgstr "" ! #: cp/class.c:3181 #, gcc-internal-format msgid "private member %q#D in anonymous struct" msgstr "" ! #: cp/class.c:3187 cp/decl2.c:1493 #, gcc-internal-format msgid "protected member %q#D in anonymous union" msgstr "" ! #: cp/class.c:3190 #, gcc-internal-format msgid "protected member %q#D in anonymous struct" msgstr "" ! #: cp/class.c:3378 #, gcc-internal-format msgid "the ellipsis in %qD is not inherited" msgstr "" ! #: cp/class.c:3547 #, fuzzy, gcc-internal-format msgid "bit-field %q+#D with non-integral type" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3563 #, fuzzy, gcc-internal-format msgid "bit-field %q+D width not an integer constant" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3568 #, gcc-internal-format msgid "negative width in bit-field %q+D" msgstr "" ! #: cp/class.c:3573 #, gcc-internal-format msgid "zero width for bit-field %q+D" msgstr "" ! #: cp/class.c:3583 #, gcc-internal-format msgid "width of %qD exceeds its type" msgstr "" ! #: cp/class.c:3588 #, gcc-internal-format msgid "%qD is too small to hold all values of %q#T" msgstr "" ! #: cp/class.c:3648 #, gcc-internal-format msgid "member %q+#D with constructor not allowed in union" msgstr "" ! #: cp/class.c:3651 #, gcc-internal-format msgid "member %q+#D with destructor not allowed in union" msgstr "" ! #: cp/class.c:3653 #, gcc-internal-format msgid "member %q+#D with copy assignment operator not allowed in union" msgstr "" ! #: cp/class.c:3657 #, gcc-internal-format msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/class.c:3781 #, gcc-internal-format msgid "in C++98 %q+D may not be static because it is a member of a union" msgstr "" ! #: cp/class.c:3788 #, gcc-internal-format msgid "non-static data member %q+D in a union may not have reference type %qT" msgstr "" ! #: cp/class.c:3798 #, fuzzy, gcc-internal-format msgid "field %q+D invalidly declared function type" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3804 #, fuzzy, gcc-internal-format msgid "field %q+D invalidly declared method type" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3864 #, gcc-internal-format msgid "ignoring packed attribute because of unpacked non-POD field %q#D" msgstr "" ! #: cp/class.c:3912 #, gcc-internal-format msgid "member %q+D cannot be declared both % and %" msgstr "" ! #: cp/class.c:3918 #, gcc-internal-format msgid "member %q+D cannot be declared as a % reference" msgstr "" ! #: cp/class.c:3944 #, gcc-internal-format msgid "multiple fields in union %qT initialized" msgstr "" ! #: cp/class.c:3985 #, gcc-internal-format msgid "field %q#D with same name as class" msgstr "" ! #: cp/class.c:4008 #, gcc-internal-format msgid "%q#T has pointer data members" msgstr "" ! #: cp/class.c:4013 #, gcc-internal-format msgid " but does not override %<%T(const %T&)%>" msgstr "" ! #: cp/class.c:4015 #, gcc-internal-format msgid " or %" msgstr "" ! #: cp/class.c:4019 #, gcc-internal-format msgid " but does not override %" msgstr "" ! #: cp/class.c:4424 #, gcc-internal-format msgid "alignment of %qD increased in -fabi-version=9 (GCC 5.2)" msgstr "" ! #: cp/class.c:4427 #, gcc-internal-format msgid "alignment of %qD will increase in -fabi-version=9" msgstr "" ! #: cp/class.c:4698 #, fuzzy, gcc-internal-format msgid "initializer specified for non-virtual method %q+D" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: cp/class.c:5155 #, gcc-internal-format msgid "method overrides both % and %qE methods" msgstr "" ! #: cp/class.c:5176 #, gcc-internal-format msgid "method declared %qE overriding %qE method" msgstr "" ! #: cp/class.c:5771 cp/constexpr.c:218 #, gcc-internal-format msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type" msgstr "" ! #: cp/class.c:5796 #, gcc-internal-format msgid "%q+T is not literal because:" msgstr "" ! #: cp/class.c:5798 #, gcc-internal-format msgid " %q+T has a non-trivial destructor" msgstr "" ! #: cp/class.c:5803 #, gcc-internal-format msgid " %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor" msgstr "" ! #: cp/class.c:5838 #, gcc-internal-format msgid " base class %qT of %q+T is non-literal" msgstr "" ! #: cp/class.c:5853 #, gcc-internal-format msgid " non-static data member %qD has non-literal type" msgstr "" ! #: cp/class.c:5860 #, gcc-internal-format msgid " non-static data member %qD has volatile type" msgstr "" ! #: cp/class.c:5978 #, gcc-internal-format msgid "base class %q#T has accessible non-virtual destructor" msgstr "" ! #: cp/class.c:6007 #, gcc-internal-format msgid "non-static reference %q#D in class without a constructor" msgstr "" ! #: cp/class.c:6013 #, gcc-internal-format msgid "non-static const member %q#D in class without a constructor" msgstr "" #. If the function is defaulted outside the class, we just #. give the synthesis error. ! #: cp/class.c:6039 #, gcc-internal-format msgid "%q+D declared to take const reference, but implicit declaration would take non-const" msgstr "" ! #: cp/class.c:6316 #, gcc-internal-format msgid "direct base %qT inaccessible in %qT due to ambiguity" msgstr "" ! #: cp/class.c:6328 #, gcc-internal-format msgid "virtual base %qT inaccessible in %qT due to ambiguity" msgstr "" ! #: cp/class.c:6556 #, gcc-internal-format msgid "offset of %qD is not ABI-compliant and may change in a future version of GCC" msgstr "" ! #: cp/class.c:6711 #, fuzzy, gcc-internal-format #| msgid "size of `%s' is larger than %d bytes" msgid "size of type %qT is too large (%qE bytes)" msgstr "памер \"%s\" больш чам %d байт" ! #: cp/class.c:7009 #, gcc-internal-format msgid "invalid use of %q#T with a zero-size array in %q#D" msgstr "" ! #: cp/class.c:7011 #, gcc-internal-format msgid "invalid use of %q#T with a flexible array member in %q#T" msgstr "" ! #: cp/class.c:7016 #, fuzzy, gcc-internal-format msgid "array member %q#D declared here" msgstr "тып параметра \"%s\" не аб'Ñўлены" ! #: cp/class.c:7043 #, gcc-internal-format msgid "zero-size array member %qD not at end of %q#T" msgstr "" ! #: cp/class.c:7045 #, gcc-internal-format msgid "zero-size array member %qD in an otherwise empty %q#T" msgstr "" ! #: cp/class.c:7053 cp/class.c:7083 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "in the definition of %q#T" msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'" ! #: cp/class.c:7061 #, gcc-internal-format msgid "flexible array member %qD not at end of %q#T" msgstr "" ! #: cp/class.c:7063 #, gcc-internal-format msgid "flexible array member %qD in an otherwise empty %q#T" msgstr "" ! #: cp/class.c:7081 #, gcc-internal-format msgid "next member %q#D declared here" msgstr "" ! #: cp/class.c:7193 cp/parser.c:22773 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "redefinition of %q#T" msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'" ! #: cp/class.c:7337 #, gcc-internal-format msgid "%q#T has virtual functions and accessible non-virtual destructor" msgstr "" ! #: cp/class.c:7365 #, gcc-internal-format msgid "type transparent %q#T does not have any fields" msgstr "" ! #: cp/class.c:7371 #, gcc-internal-format msgid "type transparent class %qT has base classes" msgstr "" ! #: cp/class.c:7375 #, gcc-internal-format msgid "type transparent class %qT has virtual functions" msgstr "" ! #: cp/class.c:7381 #, gcc-internal-format msgid "type transparent %q#T cannot be made transparent because the type of the first field has a different ABI from the class overall" msgstr "" ! #: cp/class.c:7545 #, gcc-internal-format msgid "definition of std::initializer_list does not match #include " msgstr "" ! #: cp/class.c:7556 #, gcc-internal-format msgid "trying to finish struct, but kicked out due to previous parse errors" msgstr "" ! #: cp/class.c:8072 #, fuzzy, gcc-internal-format #| msgid "language %s not recognized" msgid "language string %<\"%E\"%> not recognized" msgstr "мова %s не раÑпазнана" ! #: cp/class.c:8162 #, gcc-internal-format msgid "cannot resolve overloaded function %qD based on conversion to type %qT" msgstr "" ! #: cp/class.c:8317 #, gcc-internal-format msgid "no matches converting function %qD to type %q#T" msgstr "" ! #: cp/class.c:8345 #, gcc-internal-format msgid "converting overloaded function %qD to type %q#T is ambiguous" msgstr "" ! #: cp/class.c:8372 #, fuzzy, gcc-internal-format msgid "assuming pointer to member %qD" msgstr "прапушчан ініцыÑлізатар" ! #: cp/class.c:8375 #, gcc-internal-format msgid "(a pointer to member can only be formed with %<&%E%>)" msgstr "" ! #: cp/class.c:8450 cp/class.c:8487 #, gcc-internal-format msgid "not enough type information" msgstr "" ! #: cp/class.c:8470 cp/cvt.c:171 cp/cvt.c:198 cp/cvt.c:247 #, gcc-internal-format msgid "cannot convert %qE from type %qT to type %qT" msgstr "" --- 37732,38159 ---- msgid "cannot derive from % base %qT in derived type %qT" msgstr "" ! #: cp/class.c:2233 #, gcc-internal-format msgid "all member functions in class %qT are private" msgstr "" ! #: cp/class.c:2245 #, gcc-internal-format msgid "%q#T only defines a private destructor and has no friends" msgstr "" ! #: cp/class.c:2290 #, gcc-internal-format msgid "%q#T only defines private constructors and has no friends" msgstr "" ! #: cp/class.c:2683 #, gcc-internal-format msgid "no unique final overrider for %qD in %qT" msgstr "" ! #: cp/class.c:3044 #, gcc-internal-format msgid "%qD can be marked override" msgstr "" ! #: cp/class.c:3056 #, gcc-internal-format msgid "%q+#D marked %, but is not virtual" msgstr "" ! #: cp/class.c:3058 #, gcc-internal-format msgid "%q+#D marked %, but does not override" msgstr "" ! #: cp/class.c:3128 #, gcc-internal-format msgid "%qD was hidden" msgstr "" ! #: cp/class.c:3130 #, gcc-internal-format msgid " by %qD" msgstr "" ! #: cp/class.c:3164 cp/decl2.c:1484 #, gcc-internal-format msgid "%q#D invalid; an anonymous union can only have non-static data members" msgstr "" ! #: cp/class.c:3168 #, gcc-internal-format msgid "%q#D invalid; an anonymous struct can only have non-static data members" msgstr "" ! #: cp/class.c:3180 cp/decl2.c:1491 #, gcc-internal-format msgid "private member %q#D in anonymous union" msgstr "" ! #: cp/class.c:3183 #, gcc-internal-format msgid "private member %q#D in anonymous struct" msgstr "" ! #: cp/class.c:3189 cp/decl2.c:1494 #, gcc-internal-format msgid "protected member %q#D in anonymous union" msgstr "" ! #: cp/class.c:3192 #, gcc-internal-format msgid "protected member %q#D in anonymous struct" msgstr "" ! #: cp/class.c:3380 #, gcc-internal-format msgid "the ellipsis in %qD is not inherited" msgstr "" ! #: cp/class.c:3549 #, fuzzy, gcc-internal-format msgid "bit-field %q+#D with non-integral type" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3565 #, fuzzy, gcc-internal-format msgid "bit-field %q+D width not an integer constant" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3570 #, gcc-internal-format msgid "negative width in bit-field %q+D" msgstr "" ! #: cp/class.c:3575 #, gcc-internal-format msgid "zero width for bit-field %q+D" msgstr "" ! #: cp/class.c:3585 #, gcc-internal-format msgid "width of %qD exceeds its type" msgstr "" ! #: cp/class.c:3590 #, gcc-internal-format msgid "%qD is too small to hold all values of %q#T" msgstr "" ! #: cp/class.c:3650 #, gcc-internal-format msgid "member %q+#D with constructor not allowed in union" msgstr "" ! #: cp/class.c:3653 #, gcc-internal-format msgid "member %q+#D with destructor not allowed in union" msgstr "" ! #: cp/class.c:3655 #, gcc-internal-format msgid "member %q+#D with copy assignment operator not allowed in union" msgstr "" ! #: cp/class.c:3659 #, gcc-internal-format msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/class.c:3783 #, gcc-internal-format msgid "in C++98 %q+D may not be static because it is a member of a union" msgstr "" ! #: cp/class.c:3790 #, gcc-internal-format msgid "non-static data member %q+D in a union may not have reference type %qT" msgstr "" ! #: cp/class.c:3800 #, fuzzy, gcc-internal-format msgid "field %q+D invalidly declared function type" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3806 #, fuzzy, gcc-internal-format msgid "field %q+D invalidly declared method type" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/class.c:3866 #, gcc-internal-format msgid "ignoring packed attribute because of unpacked non-POD field %q#D" msgstr "" ! #: cp/class.c:3914 #, gcc-internal-format msgid "member %q+D cannot be declared both % and %" msgstr "" ! #: cp/class.c:3920 #, gcc-internal-format msgid "member %q+D cannot be declared as a % reference" msgstr "" ! #: cp/class.c:3946 #, gcc-internal-format msgid "multiple fields in union %qT initialized" msgstr "" ! #: cp/class.c:3987 #, gcc-internal-format msgid "field %q#D with same name as class" msgstr "" ! #: cp/class.c:4010 #, gcc-internal-format msgid "%q#T has pointer data members" msgstr "" ! #: cp/class.c:4015 #, gcc-internal-format msgid " but does not override %<%T(const %T&)%>" msgstr "" ! #: cp/class.c:4017 #, gcc-internal-format msgid " or %" msgstr "" ! #: cp/class.c:4021 #, gcc-internal-format msgid " but does not override %" msgstr "" ! #: cp/class.c:4426 #, gcc-internal-format msgid "alignment of %qD increased in -fabi-version=9 (GCC 5.2)" msgstr "" ! #: cp/class.c:4429 #, gcc-internal-format msgid "alignment of %qD will increase in -fabi-version=9" msgstr "" ! #: cp/class.c:4700 #, fuzzy, gcc-internal-format msgid "initializer specified for non-virtual method %q+D" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: cp/class.c:5157 #, gcc-internal-format msgid "method overrides both % and %qE methods" msgstr "" ! #: cp/class.c:5178 #, gcc-internal-format msgid "method declared %qE overriding %qE method" msgstr "" ! #: cp/class.c:5775 cp/constexpr.c:220 #, gcc-internal-format msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type" msgstr "" ! #: cp/class.c:5799 #, gcc-internal-format msgid "%q+T is not literal because:" msgstr "" ! #: cp/class.c:5801 #, gcc-internal-format msgid " %q+T has a non-trivial destructor" msgstr "" ! #: cp/class.c:5806 #, gcc-internal-format msgid " %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor" msgstr "" ! #: cp/class.c:5841 #, gcc-internal-format msgid " base class %qT of %q+T is non-literal" msgstr "" ! #: cp/class.c:5856 #, gcc-internal-format msgid " non-static data member %qD has non-literal type" msgstr "" ! #: cp/class.c:5863 #, gcc-internal-format msgid " non-static data member %qD has volatile type" msgstr "" ! #: cp/class.c:5981 #, gcc-internal-format msgid "base class %q#T has accessible non-virtual destructor" msgstr "" ! #: cp/class.c:6010 #, gcc-internal-format msgid "non-static reference %q#D in class without a constructor" msgstr "" ! #: cp/class.c:6016 #, gcc-internal-format msgid "non-static const member %q#D in class without a constructor" msgstr "" #. If the function is defaulted outside the class, we just #. give the synthesis error. ! #: cp/class.c:6042 #, gcc-internal-format msgid "%q+D declared to take const reference, but implicit declaration would take non-const" msgstr "" ! #: cp/class.c:6319 #, gcc-internal-format msgid "direct base %qT inaccessible in %qT due to ambiguity" msgstr "" ! #: cp/class.c:6331 #, gcc-internal-format msgid "virtual base %qT inaccessible in %qT due to ambiguity" msgstr "" ! #: cp/class.c:6559 #, gcc-internal-format msgid "offset of %qD is not ABI-compliant and may change in a future version of GCC" msgstr "" ! #: cp/class.c:6714 #, fuzzy, gcc-internal-format #| msgid "size of `%s' is larger than %d bytes" msgid "size of type %qT is too large (%qE bytes)" msgstr "памер \"%s\" больш чам %d байт" ! #: cp/class.c:7012 #, gcc-internal-format msgid "invalid use of %q#T with a zero-size array in %q#D" msgstr "" ! #: cp/class.c:7014 #, gcc-internal-format msgid "invalid use of %q#T with a flexible array member in %q#T" msgstr "" ! #: cp/class.c:7019 #, fuzzy, gcc-internal-format msgid "array member %q#D declared here" msgstr "тып параметра \"%s\" не аб'Ñўлены" ! #: cp/class.c:7046 #, gcc-internal-format msgid "zero-size array member %qD not at end of %q#T" msgstr "" ! #: cp/class.c:7048 #, gcc-internal-format msgid "zero-size array member %qD in an otherwise empty %q#T" msgstr "" ! #: cp/class.c:7056 cp/class.c:7086 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "in the definition of %q#T" msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'" ! #: cp/class.c:7064 #, gcc-internal-format msgid "flexible array member %qD not at end of %q#T" msgstr "" ! #: cp/class.c:7066 #, gcc-internal-format msgid "flexible array member %qD in an otherwise empty %q#T" msgstr "" ! #: cp/class.c:7084 #, gcc-internal-format msgid "next member %q#D declared here" msgstr "" ! #: cp/class.c:7196 cp/parser.c:22796 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "redefinition of %q#T" msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'" ! #: cp/class.c:7340 #, gcc-internal-format msgid "%q#T has virtual functions and accessible non-virtual destructor" msgstr "" ! #: cp/class.c:7368 #, gcc-internal-format msgid "type transparent %q#T does not have any fields" msgstr "" ! #: cp/class.c:7374 #, gcc-internal-format msgid "type transparent class %qT has base classes" msgstr "" ! #: cp/class.c:7378 #, gcc-internal-format msgid "type transparent class %qT has virtual functions" msgstr "" ! #: cp/class.c:7384 #, gcc-internal-format msgid "type transparent %q#T cannot be made transparent because the type of the first field has a different ABI from the class overall" msgstr "" ! #: cp/class.c:7548 #, gcc-internal-format msgid "definition of std::initializer_list does not match #include " msgstr "" ! #: cp/class.c:7559 #, gcc-internal-format msgid "trying to finish struct, but kicked out due to previous parse errors" msgstr "" ! #: cp/class.c:8075 #, fuzzy, gcc-internal-format #| msgid "language %s not recognized" msgid "language string %<\"%E\"%> not recognized" msgstr "мова %s не раÑпазнана" ! #: cp/class.c:8165 #, gcc-internal-format msgid "cannot resolve overloaded function %qD based on conversion to type %qT" msgstr "" ! #: cp/class.c:8320 #, gcc-internal-format msgid "no matches converting function %qD to type %q#T" msgstr "" ! #: cp/class.c:8348 #, gcc-internal-format msgid "converting overloaded function %qD to type %q#T is ambiguous" msgstr "" ! #: cp/class.c:8375 #, fuzzy, gcc-internal-format msgid "assuming pointer to member %qD" msgstr "прапушчан ініцыÑлізатар" ! #: cp/class.c:8378 #, gcc-internal-format msgid "(a pointer to member can only be formed with %<&%E%>)" msgstr "" ! #: cp/class.c:8453 cp/class.c:8490 #, gcc-internal-format msgid "not enough type information" msgstr "" ! #: cp/class.c:8473 cp/cvt.c:171 cp/cvt.c:198 cp/cvt.c:247 #, gcc-internal-format msgid "cannot convert %qE from type %qT to type %qT" msgstr "" *************** msgstr "" *** 38110,38122 **** #. A name N used in a class S shall refer to the same declaration #. in its context and when re-evaluated in the completed scope of #. S. ! #: cp/class.c:8756 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D'" msgid "declaration of %q#D" msgstr "абвÑшчÑньне `%#D'" ! #: cp/class.c:8758 #, gcc-internal-format msgid "changes meaning of %qD from %q#D" msgstr "" --- 38163,38175 ---- #. A name N used in a class S shall refer to the same declaration #. in its context and when re-evaluated in the completed scope of #. S. ! #: cp/class.c:8759 #, fuzzy, gcc-internal-format #| msgid "declaration of `%#D'" msgid "declaration of %q#D" msgstr "абвÑшчÑньне `%#D'" ! #: cp/class.c:8761 #, gcc-internal-format msgid "changes meaning of %qD from %q#D" msgstr "" *************** msgstr "" *** 38146,38480 **** msgid "invalid return type %qT of constexpr function %q+D" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/constexpr.c:228 #, gcc-internal-format msgid "%q#T has virtual base classes" msgstr "" ! #: cp/constexpr.c:488 #, gcc-internal-format msgid "constexpr constructor does not have empty body" msgstr "" ! #: cp/constexpr.c:594 #, gcc-internal-format msgid "body of % constructor cannot be a function-try-block" msgstr "" ! #: cp/constexpr.c:723 #, gcc-internal-format msgid "% constructor for union %qT must initialize exactly one non-static data member" msgstr "" ! #: cp/constexpr.c:775 #, gcc-internal-format msgid "member %qD must be initialized by mem-initializer in % constructor" msgstr "" ! #: cp/constexpr.c:816 #, gcc-internal-format msgid "body of constexpr function %qD not a return-statement" msgstr "" ! #: cp/constexpr.c:876 #, gcc-internal-format msgid "%qD is not usable as a constexpr function because:" msgstr "" ! #: cp/constexpr.c:1176 cp/constexpr.c:1185 cp/constexpr.c:1750 #, fuzzy, gcc-internal-format msgid "%q+E is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:1363 cp/constexpr.c:5115 #, fuzzy, gcc-internal-format #| msgid "can't initialize friend function `%s'" msgid "call to internal function %qE" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: cp/constexpr.c:1426 #, gcc-internal-format msgid "expression %qE does not designate a constexpr function" msgstr "" ! #: cp/constexpr.c:1444 cp/constexpr.c:5133 #, gcc-internal-format msgid "call to non-constexpr function %qD" msgstr "" ! #: cp/constexpr.c:1516 #, gcc-internal-format msgid "%qD called in a constant expression before its definition is complete" msgstr "" ! #: cp/constexpr.c:1523 #, gcc-internal-format msgid "%qD called in a constant expression" msgstr "" ! #: cp/constexpr.c:1527 #, fuzzy, gcc-internal-format msgid "%qD used before its definition" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/constexpr.c:1567 #, gcc-internal-format msgid "call has circular dependency" msgstr "" ! #: cp/constexpr.c:1578 #, gcc-internal-format, gfc-internal-format msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)" msgstr "" ! #: cp/constexpr.c:1661 #, gcc-internal-format msgid "constexpr call flows off the end of the function" msgstr "" ! #: cp/constexpr.c:1790 #, gcc-internal-format msgid "right operand of shift expression %q+E is negative" msgstr "" ! #: cp/constexpr.c:1797 #, gcc-internal-format msgid "right operand of shift expression %q+E is >= than the precision of the left operand" msgstr "" ! #: cp/constexpr.c:1815 #, gcc-internal-format msgid "left operand of shift expression %q+E is negative" msgstr "" ! #: cp/constexpr.c:1834 #, gcc-internal-format msgid "shift expression %q+E overflows" msgstr "" ! #: cp/constexpr.c:1978 #, gcc-internal-format msgid "arithmetic involving a null pointer in %qE" msgstr "" ! #: cp/constexpr.c:2172 #, gcc-internal-format msgid "array subscript value %qE is outside the bounds of array %qD of type %qT" msgstr "" ! #: cp/constexpr.c:2177 #, gcc-internal-format msgid "array subscript value %qE is outside the bounds of array type %qT" msgstr "" ! #: cp/constexpr.c:2324 #, fuzzy, gcc-internal-format msgid "accessing uninitialized array element" msgstr "прапушчан ініцыÑлізатар" ! #: cp/constexpr.c:2355 #, gcc-internal-format msgid "dereferencing a null pointer in %qE" msgstr "" ! #: cp/constexpr.c:2369 cp/constexpr.c:2459 cp/constexpr.c:4003 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:2375 #, fuzzy, gcc-internal-format msgid "mutable %qD is not usable in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:2400 #, gcc-internal-format msgid "accessing %qD member instead of initialized %qD member in constant expression" msgstr "" ! #: cp/constexpr.c:2419 #, fuzzy, gcc-internal-format msgid "accessing uninitialized member %qD" msgstr "прапушчан ініцыÑлізатар" ! #: cp/constexpr.c:3122 cp/constexpr.c:4412 #, gcc-internal-format msgid "dereferencing a null pointer" msgstr "" ! #: cp/constexpr.c:3141 #, gcc-internal-format msgid "accessing value of %qE through a %qT glvalue in a constant expression" msgstr "" ! #: cp/constexpr.c:3180 #, fuzzy, gcc-internal-format msgid "the value of %qD is not usable in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:3187 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "%qD used in its own initializer" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/constexpr.c:3192 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%q#D is not const" msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ," ! #: cp/constexpr.c:3195 #, gcc-internal-format msgid "%q#D is volatile" msgstr "" ! #: cp/constexpr.c:3200 cp/constexpr.c:3207 #, fuzzy, gcc-internal-format msgid "%qD was not initialized with a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:3213 #, fuzzy, gcc-internal-format msgid "%qD was not declared %" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/constexpr.c:3216 #, gcc-internal-format msgid "%qD does not have integral or enumeration type" msgstr "" ! #: cp/constexpr.c:3410 #, fuzzy, gcc-internal-format msgid "modification of %qE is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:3782 #, gcc-internal-format, gfc-internal-format msgid "constexpr loop iteration count exceeds limit of %d (use -fconstexpr-loop-limit= to increase the limit)" msgstr "" ! #: cp/constexpr.c:3921 #, fuzzy, gcc-internal-format msgid "value %qE of type %qT is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4049 cp/constexpr.c:5562 #, fuzzy, gcc-internal-format msgid "temporary of non-literal type %qT in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4398 #, fuzzy, gcc-internal-format msgid "a reinterpret_cast is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4424 #, fuzzy, gcc-internal-format msgid "conversion of %qT null pointer to %qT is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4439 #, gcc-internal-format msgid "%(%E)%> is not a constant expression" msgstr "" ! #: cp/constexpr.c:4502 cp/constexpr.c:5423 cp/constexpr.c:5738 #, fuzzy, gcc-internal-format msgid "expression %qE is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4579 #, fuzzy, gcc-internal-format msgid "statement is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4582 #, gcc-internal-format msgid "unexpected expression %qE of kind %s" msgstr "" ! #: cp/constexpr.c:4652 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" msgstr "" ! #: cp/constexpr.c:4661 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" msgstr "" ! #: cp/constexpr.c:4675 #, gcc-internal-format msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" msgstr "" ! #: cp/constexpr.c:5033 #, gcc-internal-format msgid "expression %qE has side-effects" msgstr "" ! #: cp/constexpr.c:5227 #, gcc-internal-format msgid "reinterpret_cast from integer to pointer" msgstr "" ! #: cp/constexpr.c:5259 #, gcc-internal-format msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" msgstr "" ! #: cp/constexpr.c:5293 #, fuzzy, gcc-internal-format msgid "use of % in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5435 #, gcc-internal-format msgid "typeid-expression is not a constant expression because %qE is of polymorphic type" msgstr "" ! #: cp/constexpr.c:5496 #, fuzzy, gcc-internal-format msgid "cast to non-integral type %qT in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5529 cp/decl.c:5163 #, fuzzy, gcc-internal-format msgid "%qD declared % in % function" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/constexpr.c:5536 cp/decl.c:5160 #, gcc-internal-format msgid "%qD declared % in % function" msgstr "" ! #: cp/constexpr.c:5543 cp/decl.c:5583 #, gcc-internal-format msgid "uninitialized variable %qD in % function" msgstr "" ! #: cp/constexpr.c:5611 #, fuzzy, gcc-internal-format msgid "division by zero is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5715 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5746 #, fuzzy, gcc-internal-format msgid "non-constant array initialization" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/constexpr.c:5767 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5779 #, gcc-internal-format, gfc-internal-format msgid "unexpected AST of kind %s" msgstr "" --- 38199,38533 ---- msgid "invalid return type %qT of constexpr function %q+D" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/constexpr.c:229 #, gcc-internal-format msgid "%q#T has virtual base classes" msgstr "" ! #: cp/constexpr.c:489 #, gcc-internal-format msgid "constexpr constructor does not have empty body" msgstr "" ! #: cp/constexpr.c:595 #, gcc-internal-format msgid "body of % constructor cannot be a function-try-block" msgstr "" ! #: cp/constexpr.c:724 #, gcc-internal-format msgid "% constructor for union %qT must initialize exactly one non-static data member" msgstr "" ! #: cp/constexpr.c:776 #, gcc-internal-format msgid "member %qD must be initialized by mem-initializer in % constructor" msgstr "" ! #: cp/constexpr.c:817 #, gcc-internal-format msgid "body of constexpr function %qD not a return-statement" msgstr "" ! #: cp/constexpr.c:877 #, gcc-internal-format msgid "%qD is not usable as a constexpr function because:" msgstr "" ! #: cp/constexpr.c:1177 cp/constexpr.c:1186 cp/constexpr.c:1766 #, fuzzy, gcc-internal-format msgid "%q+E is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:1364 cp/constexpr.c:5146 #, fuzzy, gcc-internal-format #| msgid "can't initialize friend function `%s'" msgid "call to internal function %qE" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: cp/constexpr.c:1442 #, gcc-internal-format msgid "expression %qE does not designate a constexpr function" msgstr "" ! #: cp/constexpr.c:1460 cp/constexpr.c:5164 #, gcc-internal-format msgid "call to non-constexpr function %qD" msgstr "" ! #: cp/constexpr.c:1532 #, gcc-internal-format msgid "%qD called in a constant expression before its definition is complete" msgstr "" ! #: cp/constexpr.c:1539 #, gcc-internal-format msgid "%qD called in a constant expression" msgstr "" ! #: cp/constexpr.c:1543 #, fuzzy, gcc-internal-format msgid "%qD used before its definition" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/constexpr.c:1583 #, gcc-internal-format msgid "call has circular dependency" msgstr "" ! #: cp/constexpr.c:1594 #, gcc-internal-format, gfc-internal-format msgid "constexpr evaluation depth exceeds maximum of %d (use -fconstexpr-depth= to increase the maximum)" msgstr "" ! #: cp/constexpr.c:1677 #, gcc-internal-format msgid "constexpr call flows off the end of the function" msgstr "" ! #: cp/constexpr.c:1806 #, gcc-internal-format msgid "right operand of shift expression %q+E is negative" msgstr "" ! #: cp/constexpr.c:1813 #, gcc-internal-format msgid "right operand of shift expression %q+E is >= than the precision of the left operand" msgstr "" ! #: cp/constexpr.c:1831 #, gcc-internal-format msgid "left operand of shift expression %q+E is negative" msgstr "" ! #: cp/constexpr.c:1850 #, gcc-internal-format msgid "shift expression %q+E overflows" msgstr "" ! #: cp/constexpr.c:1994 #, gcc-internal-format msgid "arithmetic involving a null pointer in %qE" msgstr "" ! #: cp/constexpr.c:2188 #, gcc-internal-format msgid "array subscript value %qE is outside the bounds of array %qD of type %qT" msgstr "" ! #: cp/constexpr.c:2193 #, gcc-internal-format msgid "array subscript value %qE is outside the bounds of array type %qT" msgstr "" ! #: cp/constexpr.c:2340 #, fuzzy, gcc-internal-format msgid "accessing uninitialized array element" msgstr "прапушчан ініцыÑлізатар" ! #: cp/constexpr.c:2371 #, gcc-internal-format msgid "dereferencing a null pointer in %qE" msgstr "" ! #: cp/constexpr.c:2385 cp/constexpr.c:2475 cp/constexpr.c:4027 #, fuzzy, gcc-internal-format msgid "%qE is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:2391 #, fuzzy, gcc-internal-format msgid "mutable %qD is not usable in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:2416 #, gcc-internal-format msgid "accessing %qD member instead of initialized %qD member in constant expression" msgstr "" ! #: cp/constexpr.c:2435 #, fuzzy, gcc-internal-format msgid "accessing uninitialized member %qD" msgstr "прапушчан ініцыÑлізатар" ! #: cp/constexpr.c:3146 cp/constexpr.c:4443 #, gcc-internal-format msgid "dereferencing a null pointer" msgstr "" ! #: cp/constexpr.c:3165 #, gcc-internal-format msgid "accessing value of %qE through a %qT glvalue in a constant expression" msgstr "" ! #: cp/constexpr.c:3204 #, fuzzy, gcc-internal-format msgid "the value of %qD is not usable in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:3211 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "%qD used in its own initializer" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/constexpr.c:3216 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%q#D is not const" msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ," ! #: cp/constexpr.c:3219 #, gcc-internal-format msgid "%q#D is volatile" msgstr "" ! #: cp/constexpr.c:3224 cp/constexpr.c:3231 #, fuzzy, gcc-internal-format msgid "%qD was not initialized with a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:3237 #, fuzzy, gcc-internal-format msgid "%qD was not declared %" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/constexpr.c:3240 #, gcc-internal-format msgid "%qD does not have integral or enumeration type" msgstr "" ! #: cp/constexpr.c:3434 #, fuzzy, gcc-internal-format msgid "modification of %qE is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:3806 #, gcc-internal-format, gfc-internal-format msgid "constexpr loop iteration count exceeds limit of %d (use -fconstexpr-loop-limit= to increase the limit)" msgstr "" ! #: cp/constexpr.c:3945 #, fuzzy, gcc-internal-format msgid "value %qE of type %qT is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4080 cp/constexpr.c:5593 #, fuzzy, gcc-internal-format msgid "temporary of non-literal type %qT in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4429 #, fuzzy, gcc-internal-format msgid "a reinterpret_cast is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4455 #, fuzzy, gcc-internal-format msgid "conversion of %qT null pointer to %qT is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4470 #, gcc-internal-format msgid "%(%E)%> is not a constant expression" msgstr "" ! #: cp/constexpr.c:4533 cp/constexpr.c:5454 cp/constexpr.c:5769 #, fuzzy, gcc-internal-format msgid "expression %qE is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4610 #, fuzzy, gcc-internal-format msgid "statement is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:4613 #, gcc-internal-format msgid "unexpected expression %qE of kind %s" msgstr "" ! #: cp/constexpr.c:4683 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to mutable subobjects of %qT" msgstr "" ! #: cp/constexpr.c:4692 #, gcc-internal-format msgid "%qE is not a constant expression because it refers to an incompletely initialized variable" msgstr "" ! #: cp/constexpr.c:4706 #, gcc-internal-format msgid "conversion from pointer type %qT to arithmetic type %qT in a constant expression" msgstr "" ! #: cp/constexpr.c:5064 #, gcc-internal-format msgid "expression %qE has side-effects" msgstr "" ! #: cp/constexpr.c:5258 #, gcc-internal-format msgid "reinterpret_cast from integer to pointer" msgstr "" ! #: cp/constexpr.c:5290 #, gcc-internal-format msgid "address-of an object %qE with thread local or automatic storage is not a constant expression" msgstr "" ! #: cp/constexpr.c:5324 #, fuzzy, gcc-internal-format msgid "use of % in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5466 #, gcc-internal-format msgid "typeid-expression is not a constant expression because %qE is of polymorphic type" msgstr "" ! #: cp/constexpr.c:5527 #, fuzzy, gcc-internal-format msgid "cast to non-integral type %qT in a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5560 cp/decl.c:5163 #, fuzzy, gcc-internal-format msgid "%qD declared % in % function" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/constexpr.c:5567 cp/decl.c:5160 #, gcc-internal-format msgid "%qD declared % in % function" msgstr "" ! #: cp/constexpr.c:5574 cp/decl.c:5583 #, gcc-internal-format msgid "uninitialized variable %qD in % function" msgstr "" ! #: cp/constexpr.c:5642 #, fuzzy, gcc-internal-format msgid "division by zero is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5746 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5777 #, fuzzy, gcc-internal-format msgid "non-constant array initialization" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/constexpr.c:5798 #, fuzzy, gcc-internal-format msgid "% is not a constant expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/constexpr.c:5810 #, gcc-internal-format, gfc-internal-format msgid "unexpected AST of kind %s" msgstr "" *************** msgstr "" *** 39285,39291 **** msgid " skips initialization of %q#D" msgstr "ініцыÑлізацыÑ" ! #: cp/decl.c:3408 cp/parser.c:12104 cp/parser.c:12131 #, gcc-internal-format msgid "invalid exit from OpenMP structured block" msgstr "" --- 39338,39344 ---- msgid " skips initialization of %q#D" msgstr "ініцыÑлізацыÑ" ! #: cp/decl.c:3408 cp/parser.c:12113 cp/parser.c:12140 #, gcc-internal-format msgid "invalid exit from OpenMP structured block" msgstr "" *************** msgstr "" *** 39300,39306 **** msgid "%qD is not a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/decl.c:3766 cp/parser.c:6082 #, fuzzy, gcc-internal-format msgid "%qD used without template parameters" msgstr "нÑвернае выкарыÑтанне \"restict\"" --- 39353,39359 ---- msgid "%qD is not a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/decl.c:3766 cp/parser.c:6087 #, fuzzy, gcc-internal-format msgid "%qD used without template parameters" msgstr "нÑвернае выкарыÑтанне \"restict\"" *************** msgstr "" *** 40965,40971 **** msgid "parameter declared %" msgstr "тып параметра \"%s\" не аб'Ñўлены" ! #: cp/decl.c:11845 cp/parser.c:3161 #, fuzzy, gcc-internal-format msgid "invalid use of template-name %qE without an argument list" msgstr "нÑвернае выкарыÑтанне \"restict\"" --- 41018,41024 ---- msgid "parameter declared %" msgstr "тып параметра \"%s\" не аб'Ñўлены" ! #: cp/decl.c:11845 cp/parser.c:3163 #, fuzzy, gcc-internal-format msgid "invalid use of template-name %qE without an argument list" msgstr "нÑвернае выкарыÑтанне \"restict\"" *************** msgstr "параметр \"%s\" ініц *** 41420,41432 **** msgid "%qD has the same name as the class in which it is declared" msgstr "" ! #: cp/decl.c:13533 cp/friend.c:304 cp/parser.c:2987 cp/parser.c:6141 ! #: cp/pt.c:8574 #, fuzzy, gcc-internal-format msgid "%qT is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/decl.c:13534 cp/friend.c:305 cp/tree.c:4036 #, fuzzy, gcc-internal-format msgid "previous declaration here" msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\"" --- 41473,41485 ---- msgid "%qD has the same name as the class in which it is declared" msgstr "" ! #: cp/decl.c:13533 cp/friend.c:304 cp/parser.c:2989 cp/parser.c:6146 ! #: cp/pt.c:8656 #, fuzzy, gcc-internal-format msgid "%qT is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/decl.c:13534 cp/friend.c:305 cp/tree.c:4031 #, fuzzy, gcc-internal-format msgid "previous declaration here" msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\"" *************** msgstr "нÑма папÑÑ€ÑднÑга *** 41436,41443 **** msgid "perhaps you want to explicitly add %<%T::%>" msgstr "" ! #: cp/decl.c:13547 cp/name-lookup.c:2741 cp/name-lookup.c:3581 ! #: cp/name-lookup.c:3626 cp/parser.c:6092 cp/parser.c:25696 #, fuzzy, gcc-internal-format msgid "reference to %qD is ambiguous" msgstr "памер \"%s\" - %d байт" --- 41489,41496 ---- msgid "perhaps you want to explicitly add %<%T::%>" msgstr "" ! #: cp/decl.c:13547 cp/name-lookup.c:2741 cp/name-lookup.c:3580 ! #: cp/name-lookup.c:3625 cp/parser.c:6097 cp/parser.c:25719 #, fuzzy, gcc-internal-format msgid "reference to %qD is ambiguous" msgstr "памер \"%s\" - %d байт" *************** msgstr "паўтарÑнне \"restrict\ *** 41488,41494 **** msgid "scoped/unscoped mismatch in enum %q#T" msgstr "" ! #: cp/decl.c:14058 cp/decl.c:14066 cp/decl.c:14078 cp/parser.c:17916 #, gcc-internal-format msgid "previous definition here" msgstr "папÑÑ€ÑднÑе вызначÑньне" --- 41541,41547 ---- msgid "scoped/unscoped mismatch in enum %q#T" msgstr "" ! #: cp/decl.c:14058 cp/decl.c:14066 cp/decl.c:14078 cp/parser.c:17939 #, gcc-internal-format msgid "previous definition here" msgstr "папÑÑ€ÑднÑе вызначÑньне" *************** msgstr "" *** 41552,41558 **** msgid "return type %q#T is incomplete" msgstr "вÑртаемы тып \"%s\" не \"int\"" ! #: cp/decl.c:14846 cp/typeck.c:8980 #, gcc-internal-format msgid "% should return a reference to %<*this%>" msgstr "" --- 41605,41611 ---- msgid "return type %q#T is incomplete" msgstr "вÑртаемы тып \"%s\" не \"int\"" ! #: cp/decl.c:14846 cp/typeck.c:8981 #, gcc-internal-format msgid "% should return a reference to %<*this%>" msgstr "" *************** msgstr "ÐерÑчаіÑнае абвÑÑ *** 41568,41574 **** msgid "no return statements in function returning %qT" msgstr "" ! #: cp/decl.c:15615 cp/typeck.c:8861 #, gcc-internal-format msgid "only plain % return type can be deduced to %" msgstr "" --- 41621,41627 ---- msgid "no return statements in function returning %qT" msgstr "" ! #: cp/decl.c:15615 cp/typeck.c:8862 #, gcc-internal-format msgid "only plain % return type can be deduced to %" msgstr "" *************** msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ *** 41726,41752 **** msgid "width of bit-field %qD has non-integral type %qT" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/decl2.c:1403 #, gcc-internal-format msgid "%q+D static data member inside of declare target directive" msgstr "" ! #: cp/decl2.c:1467 #, gcc-internal-format msgid "anonymous struct not inside named type" msgstr "" ! #: cp/decl2.c:1558 #, gcc-internal-format msgid "namespace-scope anonymous aggregates must be static" msgstr "" ! #: cp/decl2.c:1567 #, gcc-internal-format msgid "anonymous union with no members" msgstr "" ! #: cp/decl2.c:1600 #, gcc-internal-format msgid "% must return type %qT" msgstr "" --- 41779,41805 ---- msgid "width of bit-field %qD has non-integral type %qT" msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып" ! #: cp/decl2.c:1404 #, gcc-internal-format msgid "%q+D static data member inside of declare target directive" msgstr "" ! #: cp/decl2.c:1468 #, gcc-internal-format msgid "anonymous struct not inside named type" msgstr "" ! #: cp/decl2.c:1559 #, gcc-internal-format msgid "namespace-scope anonymous aggregates must be static" msgstr "" ! #: cp/decl2.c:1568 #, gcc-internal-format msgid "anonymous union with no members" msgstr "" ! #: cp/decl2.c:1601 #, gcc-internal-format msgid "% must return type %qT" msgstr "" *************** msgstr "" *** 41755,41821 **** #. #. The first parameter shall not have an associated default #. argument. ! #: cp/decl2.c:1611 #, gcc-internal-format msgid "the first parameter of % cannot have a default argument" msgstr "" ! #: cp/decl2.c:1627 #, gcc-internal-format msgid "% takes type % (%qT) as first parameter" msgstr "" ! #: cp/decl2.c:1656 #, gcc-internal-format msgid "% must return type %qT" msgstr "" ! #: cp/decl2.c:1665 #, gcc-internal-format msgid "% takes type %qT as first parameter" msgstr "" ! #: cp/decl2.c:2527 #, gcc-internal-format msgid "%qT has a field %qD whose type has no linkage" msgstr "" ! #: cp/decl2.c:2531 #, gcc-internal-format msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.c:2536 #, gcc-internal-format msgid "%qT has a field %qD whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.c:2544 #, gcc-internal-format msgid "%qT declared with greater visibility than the type of its field %qD" msgstr "" ! #: cp/decl2.c:2562 #, gcc-internal-format msgid "%qT has a base %qT whose type has no linkage" msgstr "" ! #: cp/decl2.c:2566 #, gcc-internal-format msgid "%qT has a base %qT whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.c:2571 #, gcc-internal-format msgid "%qT has a base %qT whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.c:2578 #, gcc-internal-format msgid "%qT declared with greater visibility than its base %qT" msgstr "" ! #: cp/decl2.c:4187 #, gcc-internal-format msgid "%q#D, declared using unnamed type, is used but never defined" msgstr "" --- 41808,41874 ---- #. #. The first parameter shall not have an associated default #. argument. ! #: cp/decl2.c:1612 #, gcc-internal-format msgid "the first parameter of % cannot have a default argument" msgstr "" ! #: cp/decl2.c:1628 #, gcc-internal-format msgid "% takes type % (%qT) as first parameter" msgstr "" ! #: cp/decl2.c:1657 #, gcc-internal-format msgid "% must return type %qT" msgstr "" ! #: cp/decl2.c:1666 #, gcc-internal-format msgid "% takes type %qT as first parameter" msgstr "" ! #: cp/decl2.c:2528 #, gcc-internal-format msgid "%qT has a field %qD whose type has no linkage" msgstr "" ! #: cp/decl2.c:2532 #, gcc-internal-format msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.c:2537 #, gcc-internal-format msgid "%qT has a field %qD whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.c:2545 #, gcc-internal-format msgid "%qT declared with greater visibility than the type of its field %qD" msgstr "" ! #: cp/decl2.c:2563 #, gcc-internal-format msgid "%qT has a base %qT whose type has no linkage" msgstr "" ! #: cp/decl2.c:2567 #, gcc-internal-format msgid "%qT has a base %qT whose type depends on the type %qT which has no linkage" msgstr "" ! #: cp/decl2.c:2572 #, gcc-internal-format msgid "%qT has a base %qT whose type uses the anonymous namespace" msgstr "" ! #: cp/decl2.c:2579 #, gcc-internal-format msgid "%qT declared with greater visibility than its base %qT" msgstr "" ! #: cp/decl2.c:4188 #, gcc-internal-format msgid "%q#D, declared using unnamed type, is used but never defined" msgstr "" *************** msgstr "" *** 41824,41883 **** #. no linkage can only be used to declare extern "C" #. entities. Since it's not always an error in the #. ISO C++ 90 Standard, we only issue a warning. ! #: cp/decl2.c:4196 #, gcc-internal-format msgid "unnamed type with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.c:4200 #, gcc-internal-format msgid "unnamed type with no linkage used to declare function %q#D with linkage" msgstr "" ! #: cp/decl2.c:4204 #, gcc-internal-format msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" msgstr "" ! #: cp/decl2.c:4212 #, gcc-internal-format msgid "%q#D, declared using local type %qT, is used but never defined" msgstr "" ! #: cp/decl2.c:4216 #, gcc-internal-format msgid "type %qT with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.c:4219 #, fuzzy, gcc-internal-format msgid "type %qT with no linkage used to declare function %q#D with linkage" msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\"" ! #: cp/decl2.c:4407 cp/decl2.c:4410 #, gcc-internal-format msgid "the program should also define %qD" msgstr "" ! #: cp/decl2.c:4775 #, fuzzy, gcc-internal-format #| msgid "label `%D' used but not defined" msgid "inline function %qD used but never defined" msgstr "адмеціна `%D' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°" ! #: cp/decl2.c:4963 #, fuzzy, gcc-internal-format msgid "default argument missing for parameter %P of %q+#D" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" #. We mark a lambda conversion op as deleted if we can't #. generate it properly; see maybe_add_lambda_conv_op. ! #: cp/decl2.c:5063 #, gcc-internal-format msgid "converting lambda which uses %<...%> to function pointer" msgstr "" ! #: cp/decl2.c:5070 #, gcc-internal-format msgid "use of deleted function %qD" msgstr "" --- 41877,41936 ---- #. no linkage can only be used to declare extern "C" #. entities. Since it's not always an error in the #. ISO C++ 90 Standard, we only issue a warning. ! #: cp/decl2.c:4197 #, gcc-internal-format msgid "unnamed type with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.c:4201 #, gcc-internal-format msgid "unnamed type with no linkage used to declare function %q#D with linkage" msgstr "" ! #: cp/decl2.c:4205 #, gcc-internal-format msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" msgstr "" ! #: cp/decl2.c:4213 #, gcc-internal-format msgid "%q#D, declared using local type %qT, is used but never defined" msgstr "" ! #: cp/decl2.c:4217 #, gcc-internal-format msgid "type %qT with no linkage used to declare variable %q#D with linkage" msgstr "" ! #: cp/decl2.c:4220 #, fuzzy, gcc-internal-format msgid "type %qT with no linkage used to declare function %q#D with linkage" msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\"" ! #: cp/decl2.c:4408 cp/decl2.c:4411 #, gcc-internal-format msgid "the program should also define %qD" msgstr "" ! #: cp/decl2.c:4776 #, fuzzy, gcc-internal-format #| msgid "label `%D' used but not defined" msgid "inline function %qD used but never defined" msgstr "адмеціна `%D' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°" ! #: cp/decl2.c:4964 #, fuzzy, gcc-internal-format msgid "default argument missing for parameter %P of %q+#D" msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан" #. We mark a lambda conversion op as deleted if we can't #. generate it properly; see maybe_add_lambda_conv_op. ! #: cp/decl2.c:5064 #, gcc-internal-format msgid "converting lambda which uses %<...%> to function pointer" msgstr "" ! #: cp/decl2.c:5071 #, gcc-internal-format msgid "use of deleted function %qD" msgstr "" *************** msgstr "параметр \"%s\" ініц *** 42187,42204 **** msgid "invalid initializer for array member %q#D" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/init.c:797 cp/init.c:821 cp/init.c:2367 cp/method.c:1345 #, fuzzy, gcc-internal-format msgid "uninitialized const member in %q#T" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" #: cp/init.c:799 cp/init.c:816 cp/init.c:823 cp/init.c:2352 cp/init.c:2380 ! #: cp/method.c:1348 cp/method.c:1359 #, fuzzy, gcc-internal-format msgid "%q#D should be initialized" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: cp/init.c:814 cp/init.c:2339 cp/method.c:1356 #, fuzzy, gcc-internal-format msgid "uninitialized reference member in %q#T" msgstr "прапушчан ініцыÑлізатар" --- 42240,42257 ---- msgid "invalid initializer for array member %q#D" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/init.c:797 cp/init.c:821 cp/init.c:2367 cp/method.c:1346 #, fuzzy, gcc-internal-format msgid "uninitialized const member in %q#T" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" #: cp/init.c:799 cp/init.c:816 cp/init.c:823 cp/init.c:2352 cp/init.c:2380 ! #: cp/method.c:1349 cp/method.c:1360 #, fuzzy, gcc-internal-format msgid "%q#D should be initialized" msgstr "параметр \"%s\" ініцыÑлізаваны" ! #: cp/init.c:814 cp/init.c:2339 cp/method.c:1357 #, fuzzy, gcc-internal-format msgid "uninitialized reference member in %q#T" msgstr "прапушчан ініцыÑлізатар" *************** msgstr "нерÑчаіÑны Ñ–Ð½Ñ–Ñ†Ñ‹Ñ *** 42299,42305 **** msgid "array must be initialized with a brace-enclosed initializer" msgstr "" ! #: cp/init.c:1980 cp/semantics.c:3192 #, fuzzy, gcc-internal-format msgid "%qT is not a class type" msgstr "\"%s\" мае незавершаны тып" --- 42352,42358 ---- msgid "array must be initialized with a brace-enclosed initializer" msgstr "" ! #: cp/init.c:1980 cp/semantics.c:3205 #, fuzzy, gcc-internal-format msgid "%qT is not a class type" msgstr "\"%s\" мае незавершаны тып" *************** msgstr "нÑвернае выкарыÑÑ *** 42319,42325 **** msgid "invalid use of non-static member function %qD" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/init.c:2143 cp/semantics.c:1763 #, fuzzy, gcc-internal-format msgid "invalid use of non-static data member %qD" msgstr "нÑвернае выкарыÑтанне \"restict\"" --- 42372,42378 ---- msgid "invalid use of non-static member function %qD" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/init.c:2143 cp/semantics.c:1766 #, fuzzy, gcc-internal-format msgid "invalid use of non-static data member %qD" msgstr "нÑвернае выкарыÑтанне \"restict\"" *************** msgstr "" *** 42515,42536 **** msgid "because the array element type %qT has variable size" msgstr "" ! #: cp/lambda.c:541 #, gcc-internal-format msgid "cannot capture %qE by reference" msgstr "" ! #: cp/lambda.c:549 #, fuzzy, gcc-internal-format msgid "capture by copy of incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/lambda.c:573 #, gcc-internal-format msgid "already captured %qD in lambda expression" msgstr "" ! #: cp/lambda.c:772 #, gcc-internal-format msgid "% was not captured for this lambda function" msgstr "" --- 42568,42589 ---- msgid "because the array element type %qT has variable size" msgstr "" ! #: cp/lambda.c:542 #, gcc-internal-format msgid "cannot capture %qE by reference" msgstr "" ! #: cp/lambda.c:552 #, fuzzy, gcc-internal-format msgid "capture by copy of incomplete type %qT" msgstr "\"%s\" мае незавершаны тып" ! #: cp/lambda.c:576 #, gcc-internal-format msgid "already captured %qD in lambda expression" msgstr "" ! #: cp/lambda.c:775 #, gcc-internal-format msgid "% was not captured for this lambda function" msgstr "" *************** msgstr "" *** 42585,42770 **** msgid "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)" msgstr "" ! #: cp/mangle.c:2335 #, gcc-internal-format msgid "mangling typeof, use decltype instead" msgstr "" ! #: cp/mangle.c:2339 #, gcc-internal-format msgid "mangling __underlying_type" msgstr "" ! #: cp/mangle.c:2622 #, gcc-internal-format msgid "mangling unknown fixed point type" msgstr "" ! #: cp/mangle.c:3233 #, gcc-internal-format msgid "use of built-in trait %qE in function signature; use library traits instead" msgstr "" ! #: cp/mangle.c:3238 #, gcc-internal-format, gfc-internal-format msgid "mangling %C" msgstr "" ! #: cp/mangle.c:3315 #, gcc-internal-format msgid "omitted middle operand to % operand cannot be mangled" msgstr "" ! #: cp/mangle.c:3402 #, gcc-internal-format msgid "string literal in function template signature" msgstr "" ! #: cp/mangle.c:3860 #, gcc-internal-format msgid "mangled name for %qD will change in C++17 because the exception specification is part of a function type" msgstr "" ! #: cp/mangle.c:3894 #, gcc-internal-format msgid "a later -fabi-version= (or =0) avoids this error with a change in mangling" msgstr "" ! #: cp/mangle.c:3923 #, gcc-internal-format msgid "the mangled name of %qD changed between -fabi-version=%d (%D) and -fabi-version=%d (%D)" msgstr "" ! #: cp/mangle.c:3929 #, gcc-internal-format msgid "the mangled name of %qD changes between -fabi-version=%d (%D) and -fabi-version=%d (%D)" msgstr "" ! #: cp/mangle.c:4271 #, gcc-internal-format msgid "the mangled name of a thunk for %qD changes between -fabi-version=%d and -fabi-version=%d" msgstr "" ! #: cp/mangle.c:4276 #, gcc-internal-format msgid "the mangled name of %qD changes between -fabi-version=%d and -fabi-version=%d" msgstr "" ! #: cp/mangle.c:4281 #, gcc-internal-format msgid "the mangled name of the initialization guard variable for %qD changes between -fabi-version=%d and -fabi-version=%d" msgstr "" ! #: cp/method.c:845 cp/method.c:1301 #, gcc-internal-format msgid "non-static const member %q#D, can%'t use default assignment operator" msgstr "" ! #: cp/method.c:851 cp/method.c:1307 #, gcc-internal-format msgid "non-static reference member %q#D, can%'t use default assignment operator" msgstr "" ! #: cp/method.c:969 #, gcc-internal-format msgid "synthesized method %qD first required here " msgstr "" ! #: cp/method.c:1256 #, gcc-internal-format msgid "union member %q+D with non-trivial %qD" msgstr "" ! #: cp/method.c:1266 #, gcc-internal-format msgid "defaulted constructor calls non-constexpr %qD" msgstr "" ! #: cp/method.c:1324 #, fuzzy, gcc-internal-format msgid "initializer for %q#D is invalid" msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\"" ! #: cp/method.c:1376 #, gcc-internal-format msgid "defaulted default constructor does not initialize %q#D" msgstr "" ! #: cp/method.c:1387 #, gcc-internal-format msgid "copying non-static data member %q#D of rvalue reference type" msgstr "" #. A trivial constructor doesn't have any NSDMI. ! #: cp/method.c:1616 #, gcc-internal-format msgid "defaulted default constructor does not initialize any non-static data member" msgstr "" ! #: cp/method.c:1657 #, gcc-internal-format msgid "defaulted move assignment for %qT calls a non-trivial move assignment operator for virtual base %qT" msgstr "" ! #: cp/method.c:1774 #, gcc-internal-format msgid "a lambda closure type has a deleted default constructor" msgstr "" ! #: cp/method.c:1777 #, gcc-internal-format msgid "a lambda closure type has a deleted copy assignment operator" msgstr "" ! #: cp/method.c:1788 #, gcc-internal-format msgid "%q#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator" msgstr "" ! #: cp/method.c:1799 #, gcc-internal-format msgid "%q#D inherits from multiple base subobjects" msgstr "" ! #: cp/method.c:1819 #, gcc-internal-format msgid "%q#D is implicitly deleted because the default definition would be ill-formed:" msgstr "" ! #: cp/method.c:1828 msgid "%q#F is implicitly deleted because its exception-specification does not match the implicit exception-specification %qX" msgstr "" ! #: cp/method.c:2148 #, fuzzy, gcc-internal-format msgid "defaulted declaration %q+D" msgstr "пуÑтое абвÑшчÑнне" ! #: cp/method.c:2150 #, gcc-internal-format msgid "does not match expected signature %qD" msgstr "" ! #: cp/method.c:2182 msgid "function %q+D defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification %qX" msgstr "" ! #: cp/method.c:2204 #, gcc-internal-format msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:" msgstr "" ! #: cp/method.c:2250 #, fuzzy, gcc-internal-format msgid "a template cannot be defaulted" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/method.c:2278 #, fuzzy, gcc-internal-format msgid "%qD cannot be defaulted" msgstr "YYDEBUG не вызначан." ! #: cp/method.c:2287 #, gcc-internal-format msgid "defaulted function %q+D with default argument" msgstr "" --- 42638,42823 ---- msgid "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)" msgstr "" ! #: cp/mangle.c:2340 #, gcc-internal-format msgid "mangling typeof, use decltype instead" msgstr "" ! #: cp/mangle.c:2344 #, gcc-internal-format msgid "mangling __underlying_type" msgstr "" ! #: cp/mangle.c:2627 #, gcc-internal-format msgid "mangling unknown fixed point type" msgstr "" ! #: cp/mangle.c:3238 #, gcc-internal-format msgid "use of built-in trait %qE in function signature; use library traits instead" msgstr "" ! #: cp/mangle.c:3243 #, gcc-internal-format, gfc-internal-format msgid "mangling %C" msgstr "" ! #: cp/mangle.c:3320 #, gcc-internal-format msgid "omitted middle operand to % operand cannot be mangled" msgstr "" ! #: cp/mangle.c:3407 #, gcc-internal-format msgid "string literal in function template signature" msgstr "" ! #: cp/mangle.c:3865 #, gcc-internal-format msgid "mangled name for %qD will change in C++17 because the exception specification is part of a function type" msgstr "" ! #: cp/mangle.c:3899 #, gcc-internal-format msgid "a later -fabi-version= (or =0) avoids this error with a change in mangling" msgstr "" ! #: cp/mangle.c:3928 #, gcc-internal-format msgid "the mangled name of %qD changed between -fabi-version=%d (%D) and -fabi-version=%d (%D)" msgstr "" ! #: cp/mangle.c:3934 #, gcc-internal-format msgid "the mangled name of %qD changes between -fabi-version=%d (%D) and -fabi-version=%d (%D)" msgstr "" ! #: cp/mangle.c:4276 #, gcc-internal-format msgid "the mangled name of a thunk for %qD changes between -fabi-version=%d and -fabi-version=%d" msgstr "" ! #: cp/mangle.c:4281 #, gcc-internal-format msgid "the mangled name of %qD changes between -fabi-version=%d and -fabi-version=%d" msgstr "" ! #: cp/mangle.c:4286 #, gcc-internal-format msgid "the mangled name of the initialization guard variable for %qD changes between -fabi-version=%d and -fabi-version=%d" msgstr "" ! #: cp/method.c:846 cp/method.c:1302 #, gcc-internal-format msgid "non-static const member %q#D, can%'t use default assignment operator" msgstr "" ! #: cp/method.c:852 cp/method.c:1308 #, gcc-internal-format msgid "non-static reference member %q#D, can%'t use default assignment operator" msgstr "" ! #: cp/method.c:970 #, gcc-internal-format msgid "synthesized method %qD first required here " msgstr "" ! #: cp/method.c:1257 #, gcc-internal-format msgid "union member %q+D with non-trivial %qD" msgstr "" ! #: cp/method.c:1267 #, gcc-internal-format msgid "defaulted constructor calls non-constexpr %qD" msgstr "" ! #: cp/method.c:1325 #, fuzzy, gcc-internal-format msgid "initializer for %q#D is invalid" msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\"" ! #: cp/method.c:1377 #, gcc-internal-format msgid "defaulted default constructor does not initialize %q#D" msgstr "" ! #: cp/method.c:1388 #, gcc-internal-format msgid "copying non-static data member %q#D of rvalue reference type" msgstr "" #. A trivial constructor doesn't have any NSDMI. ! #: cp/method.c:1617 #, gcc-internal-format msgid "defaulted default constructor does not initialize any non-static data member" msgstr "" ! #: cp/method.c:1658 #, gcc-internal-format msgid "defaulted move assignment for %qT calls a non-trivial move assignment operator for virtual base %qT" msgstr "" ! #: cp/method.c:1775 #, gcc-internal-format msgid "a lambda closure type has a deleted default constructor" msgstr "" ! #: cp/method.c:1778 #, gcc-internal-format msgid "a lambda closure type has a deleted copy assignment operator" msgstr "" ! #: cp/method.c:1789 #, gcc-internal-format msgid "%q#D is implicitly declared as deleted because %qT declares a move constructor or move assignment operator" msgstr "" ! #: cp/method.c:1800 #, gcc-internal-format msgid "%q#D inherits from multiple base subobjects" msgstr "" ! #: cp/method.c:1820 #, gcc-internal-format msgid "%q#D is implicitly deleted because the default definition would be ill-formed:" msgstr "" ! #: cp/method.c:1829 msgid "%q#F is implicitly deleted because its exception-specification does not match the implicit exception-specification %qX" msgstr "" ! #: cp/method.c:2149 #, fuzzy, gcc-internal-format msgid "defaulted declaration %q+D" msgstr "пуÑтое абвÑшчÑнне" ! #: cp/method.c:2151 #, gcc-internal-format msgid "does not match expected signature %qD" msgstr "" ! #: cp/method.c:2183 msgid "function %q+D defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification %qX" msgstr "" ! #: cp/method.c:2205 #, gcc-internal-format msgid "explicitly defaulted function %q+D cannot be declared as constexpr because the implicit declaration is not constexpr:" msgstr "" ! #: cp/method.c:2251 #, fuzzy, gcc-internal-format msgid "a template cannot be defaulted" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/method.c:2279 #, fuzzy, gcc-internal-format msgid "%qD cannot be defaulted" msgstr "YYDEBUG не вызначан." ! #: cp/method.c:2288 #, gcc-internal-format msgid "defaulted function %q+D with default argument" msgstr "" *************** msgstr "" *** 42959,43083 **** msgid "%<%T::%D%> names constructor in %qT" msgstr "дÑÑтруктару неабходны \"%#D\"" ! #: cp/name-lookup.c:3459 #, gcc-internal-format msgid "cannot inherit constructors from indirect base %qT" msgstr "" ! #: cp/name-lookup.c:3467 #, gcc-internal-format msgid "no members matching %<%T::%D%> in %q#T" msgstr "" ! #: cp/name-lookup.c:3559 #, gcc-internal-format msgid "declaration of %qD not in a namespace surrounding %qD" msgstr "" ! #: cp/name-lookup.c:3567 #, fuzzy, gcc-internal-format msgid "explicit qualification in declaration of %qD" msgstr "паўторнае абвÑшчÑнне меткі \"%s\"" ! #: cp/name-lookup.c:3640 #, fuzzy, gcc-internal-format msgid "%qD has not been declared within %D" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/name-lookup.c:3641 #, gcc-internal-format msgid "only here as a friend" msgstr "" ! #: cp/name-lookup.c:3657 #, gcc-internal-format msgid "%qD should have been declared inside %qD" msgstr "" ! #: cp/name-lookup.c:3702 #, gcc-internal-format msgid "%qD attribute requires a single NTBS argument" msgstr "" ! #: cp/name-lookup.c:3709 #, gcc-internal-format msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols" msgstr "" ! #: cp/name-lookup.c:3719 #, gcc-internal-format msgid "ignoring %qD attribute on non-inline namespace" msgstr "" ! #: cp/name-lookup.c:3725 #, gcc-internal-format msgid "ignoring %qD attribute on anonymous namespace" msgstr "" ! #: cp/name-lookup.c:3744 cp/name-lookup.c:4165 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qD attribute directive ignored" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: cp/name-lookup.c:3809 #, fuzzy, gcc-internal-format msgid "namespace alias %qD not allowed here, assuming %qD" msgstr "\"%s\" - гÑта не пачатак дÑкларацыі" ! #: cp/name-lookup.c:4150 #, gcc-internal-format msgid "strong using is deprecated; use inline namespaces instead" msgstr "" ! #: cp/name-lookup.c:4153 #, gcc-internal-format msgid "strong using only meaningful at namespace scope" msgstr "" ! #: cp/name-lookup.c:4157 #, gcc-internal-format msgid "current namespace %qD does not enclose strongly used namespace %qD" msgstr "" ! #: cp/name-lookup.c:4506 #, gcc-internal-format msgid "maximum limit of %d namespaces searched for %qE" msgstr "" ! #: cp/name-lookup.c:4522 cp/name-lookup.c:4563 #, gcc-internal-format msgid "suggested alternative: %qs" msgstr "" ! #: cp/name-lookup.c:4530 #, gcc-internal-format msgid "suggested alternative:" msgid_plural "suggested alternatives:" msgstr[0] "" msgstr[1] "" ! #: cp/name-lookup.c:4534 #, gcc-internal-format msgid " %qE" msgstr "" ! #: cp/name-lookup.c:5962 #, gcc-internal-format msgid "argument dependent lookup finds %q+D" msgstr "" ! #: cp/name-lookup.c:6215 #, gcc-internal-format msgid "declaration of std::initializer_list does not match #include , isn't a template" msgstr "" ! #: cp/name-lookup.c:6526 #, gcc-internal-format msgid "XXX entering pop_everything ()\n" msgstr "" ! #: cp/name-lookup.c:6535 #, gcc-internal-format msgid "XXX leaving pop_everything ()\n" msgstr "" --- 43012,43136 ---- msgid "%<%T::%D%> names constructor in %qT" msgstr "дÑÑтруктару неабходны \"%#D\"" ! #: cp/name-lookup.c:3458 #, gcc-internal-format msgid "cannot inherit constructors from indirect base %qT" msgstr "" ! #: cp/name-lookup.c:3466 #, gcc-internal-format msgid "no members matching %<%T::%D%> in %q#T" msgstr "" ! #: cp/name-lookup.c:3558 #, gcc-internal-format msgid "declaration of %qD not in a namespace surrounding %qD" msgstr "" ! #: cp/name-lookup.c:3566 #, fuzzy, gcc-internal-format msgid "explicit qualification in declaration of %qD" msgstr "паўторнае абвÑшчÑнне меткі \"%s\"" ! #: cp/name-lookup.c:3639 #, fuzzy, gcc-internal-format msgid "%qD has not been declared within %D" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/name-lookup.c:3640 #, gcc-internal-format msgid "only here as a friend" msgstr "" ! #: cp/name-lookup.c:3656 #, gcc-internal-format msgid "%qD should have been declared inside %qD" msgstr "" ! #: cp/name-lookup.c:3701 #, gcc-internal-format msgid "%qD attribute requires a single NTBS argument" msgstr "" ! #: cp/name-lookup.c:3708 #, gcc-internal-format msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols" msgstr "" ! #: cp/name-lookup.c:3718 #, gcc-internal-format msgid "ignoring %qD attribute on non-inline namespace" msgstr "" ! #: cp/name-lookup.c:3724 #, gcc-internal-format msgid "ignoring %qD attribute on anonymous namespace" msgstr "" ! #: cp/name-lookup.c:3743 cp/name-lookup.c:4164 #, fuzzy, gcc-internal-format #| msgid "`%s' attribute ignored" msgid "%qD attribute directive ignored" msgstr "\"%s\" атрыбут ігнарыруецца" ! #: cp/name-lookup.c:3808 #, fuzzy, gcc-internal-format msgid "namespace alias %qD not allowed here, assuming %qD" msgstr "\"%s\" - гÑта не пачатак дÑкларацыі" ! #: cp/name-lookup.c:4149 #, gcc-internal-format msgid "strong using is deprecated; use inline namespaces instead" msgstr "" ! #: cp/name-lookup.c:4152 #, gcc-internal-format msgid "strong using only meaningful at namespace scope" msgstr "" ! #: cp/name-lookup.c:4156 #, gcc-internal-format msgid "current namespace %qD does not enclose strongly used namespace %qD" msgstr "" ! #: cp/name-lookup.c:4505 #, gcc-internal-format msgid "maximum limit of %d namespaces searched for %qE" msgstr "" ! #: cp/name-lookup.c:4521 cp/name-lookup.c:4562 #, gcc-internal-format msgid "suggested alternative: %qs" msgstr "" ! #: cp/name-lookup.c:4529 #, gcc-internal-format msgid "suggested alternative:" msgid_plural "suggested alternatives:" msgstr[0] "" msgstr[1] "" ! #: cp/name-lookup.c:4533 #, gcc-internal-format msgid " %qE" msgstr "" ! #: cp/name-lookup.c:5961 #, gcc-internal-format msgid "argument dependent lookup finds %q+D" msgstr "" ! #: cp/name-lookup.c:6214 #, gcc-internal-format msgid "declaration of std::initializer_list does not match #include , isn't a template" msgstr "" ! #: cp/name-lookup.c:6525 #, gcc-internal-format msgid "XXX entering pop_everything ()\n" msgstr "" ! #: cp/name-lookup.c:6534 #, gcc-internal-format msgid "XXX leaving pop_everything ()\n" msgstr "" *************** msgstr "" *** 43097,43103 **** msgid "LEXER_DEBUGGING_ENABLED_P is not set to true" msgstr "" ! #: cp/parser.c:1359 cp/parser.c:36599 #, gcc-internal-format msgid "%<#pragma omp declare simd%> not immediately followed by function declaration or definition" msgstr "" --- 43150,43156 ---- msgid "LEXER_DEBUGGING_ENABLED_P is not set to true" msgstr "" ! #: cp/parser.c:1359 cp/parser.c:36622 #, gcc-internal-format msgid "%<#pragma omp declare simd%> not immediately followed by function declaration or definition" msgstr "" *************** msgstr "" *** 43122,43128 **** msgid "request for member %qE in non-class type %qT" msgstr "" ! #: cp/parser.c:2842 cp/parser.c:17854 #, gcc-internal-format msgid "%<%T::%E%> has not been declared" msgstr "" --- 43175,43181 ---- msgid "request for member %qE in non-class type %qT" msgstr "" ! #: cp/parser.c:2842 cp/parser.c:17877 #, gcc-internal-format msgid "%<%T::%E%> has not been declared" msgstr "" *************** msgstr "" *** 43182,44401 **** msgid "(perhaps a semicolon is missing after the definition of %qT)" msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\"" ! #: cp/parser.c:2991 #, fuzzy, gcc-internal-format msgid "%qE is not a class template" msgstr "\"%s\" звычайна функцыÑ" ! #: cp/parser.c:2993 #, fuzzy, gcc-internal-format msgid "%qE is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:2996 #, fuzzy, gcc-internal-format msgid "invalid template-id" msgstr "ÐерÑчаіÑны выбар %s" ! #: cp/parser.c:3030 #, gcc-internal-format msgid "ISO C++ forbids using a floating-point literal in a constant-expression" msgstr "" ! #: cp/parser.c:3034 cp/pt.c:16746 #, gcc-internal-format msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression" msgstr "" ! #: cp/parser.c:3039 #, fuzzy, gcc-internal-format msgid "% operator cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3043 #, gcc-internal-format msgid "non-constant compound literals cannot appear in a constant-expression" msgstr "" ! #: cp/parser.c:3047 #, fuzzy, gcc-internal-format msgid "a function call cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3051 #, fuzzy, gcc-internal-format msgid "an increment cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3055 #, gcc-internal-format msgid "an decrement cannot appear in a constant-expression" msgstr "" ! #: cp/parser.c:3059 #, fuzzy, gcc-internal-format msgid "an array reference cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3063 #, fuzzy, gcc-internal-format msgid "the address of a label cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3067 #, fuzzy, gcc-internal-format msgid "calls to overloaded operators cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3071 #, fuzzy, gcc-internal-format msgid "an assignment cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3074 #, fuzzy, gcc-internal-format msgid "a comma operator cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3078 #, fuzzy, gcc-internal-format msgid "a call to a constructor cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3082 #, fuzzy, gcc-internal-format msgid "a transaction expression cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3128 #, fuzzy, gcc-internal-format msgid "%qs cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3164 #, gcc-internal-format msgid "class template argument deduction is only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:3169 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of destructor %qD as a type" msgstr "нÑвернае выкарыÑтанне \"restict\"" #. Something like 'unsigned A a;' ! #: cp/parser.c:3172 #, gcc-internal-format msgid "invalid combination of multiple type-specifiers" msgstr "" ! #: cp/parser.c:3184 #, gcc-internal-format msgid "%qE does not name a type; did you mean %qs?" msgstr "" ! #: cp/parser.c:3188 #, fuzzy, gcc-internal-format msgid "%qE does not name a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:3197 #, gcc-internal-format msgid "C++11 % only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:3200 #, gcc-internal-format msgid "C++11 % only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:3205 #, gcc-internal-format msgid "C++11 % only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:3208 #, gcc-internal-format msgid "% only available with -fconcepts" msgstr "" ! #: cp/parser.c:3234 #, gcc-internal-format msgid "(perhaps % was intended)" msgstr "" ! #: cp/parser.c:3252 #, fuzzy, gcc-internal-format msgid "%qE in namespace %qE does not name a template type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:3256 #, gcc-internal-format msgid "%qE in namespace %qE does not name a type" msgstr "" #. A::A() ! #: cp/parser.c:3265 #, gcc-internal-format msgid "%<%T::%E%> names the constructor, not the type" msgstr "" ! #: cp/parser.c:3268 #, gcc-internal-format msgid "and %qT has no template constructors" msgstr "" ! #: cp/parser.c:3273 #, gcc-internal-format msgid "need % before %<%T::%E%> because %qT is a dependent scope" msgstr "" ! #: cp/parser.c:3283 #, fuzzy, gcc-internal-format msgid "%qE in %q#T does not name a template type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:3287 #, gcc-internal-format msgid "%qE in %q#T does not name a type" msgstr "" ! #: cp/parser.c:3890 #, gcc-internal-format msgid "expected string-literal" msgstr "" ! #: cp/parser.c:3955 #, gcc-internal-format msgid "inconsistent user-defined literal suffixes %qD and %qD in string literal" msgstr "" ! #: cp/parser.c:4009 #, gcc-internal-format msgid "a wide string is invalid in this context" msgstr "" ! #: cp/parser.c:4124 #, gcc-internal-format msgid "unable to find character literal operator %qD with %qT argument" msgstr "" ! #: cp/parser.c:4225 #, gcc-internal-format msgid "integer literal exceeds range of %qT type" msgstr "" ! #: cp/parser.c:4232 #, gcc-internal-format msgid "floating literal exceeds range of %qT type" msgstr "" ! #: cp/parser.c:4236 #, gcc-internal-format msgid "floating literal truncated to zero" msgstr "" ! #: cp/parser.c:4276 #, gcc-internal-format msgid "unable to find numeric literal operator %qD" msgstr "" ! #: cp/parser.c:4278 #, gcc-internal-format msgid "use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes" msgstr "" ! #: cp/parser.c:4330 #, gcc-internal-format msgid "unable to find string literal operator %qD with %qT, %qT arguments" msgstr "" ! #: cp/parser.c:4390 cp/parser.c:12668 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "expected declaration" msgstr "пуÑтое абвÑшчÑньне" ! #: cp/parser.c:4652 cp/parser.c:4667 #, fuzzy, gcc-internal-format msgid "expected binary operator" msgstr "прапушчан ініцыÑлізатар" ! #: cp/parser.c:4673 #, gcc-internal-format msgid "expected ..." msgstr "" ! #: cp/parser.c:4685 #, gcc-internal-format msgid "binary expression in operand of fold-expression" msgstr "" ! #: cp/parser.c:4688 #, gcc-internal-format msgid "conditional expression in operand of fold-expression" msgstr "" ! #: cp/parser.c:4696 #, gcc-internal-format msgid "mismatched operator in fold-expression" msgstr "" ! #: cp/parser.c:4800 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "fixed-point types not supported in C++" msgstr "-pipe не падтрымліваецца" ! #: cp/parser.c:4881 #, gcc-internal-format msgid "ISO C++ forbids braced-groups within expressions" msgstr "" ! #: cp/parser.c:4893 #, gcc-internal-format msgid "statement-expressions are not allowed outside functions nor in template-argument lists" msgstr "" ! #: cp/parser.c:4932 #, gcc-internal-format msgid "fold-expressions only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:4990 cp/parser.c:5164 cp/parser.c:5342 cp/semantics.c:3530 #, gcc-internal-format msgid "expected primary-expression" msgstr "" ! #: cp/parser.c:5020 #, fuzzy, gcc-internal-format msgid "% may not be used in this context" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/parser.c:5158 #, gcc-internal-format msgid "a template declaration cannot appear at block scope" msgstr "" ! #: cp/parser.c:5317 #, gcc-internal-format msgid "local variable %qD may not appear in this context" msgstr "" ! #: cp/parser.c:5494 #, gcc-internal-format msgid "expected id-expression" msgstr "" ! #: cp/parser.c:5626 #, gcc-internal-format msgid "scope %qT before %<~%> is not a class-name" msgstr "" ! #: cp/parser.c:5655 cp/parser.c:7675 #, gcc-internal-format msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:5766 #, gcc-internal-format msgid "declaration of %<~%T%> as member of %qT" msgstr "" ! #: cp/parser.c:5781 #, gcc-internal-format msgid "typedef-name %qD used as destructor declarator" msgstr "" ! #: cp/parser.c:5817 #, gcc-internal-format msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" msgstr "" ! #: cp/parser.c:5828 cp/parser.c:19884 #, gcc-internal-format msgid "expected unqualified-id" msgstr "" ! #: cp/parser.c:5935 #, gcc-internal-format msgid "found %<:%> in nested-name-specifier, expected %<::%>" msgstr "" ! #: cp/parser.c:6004 #, gcc-internal-format msgid "decltype evaluates to %qT, which is not a class or enumeration type" msgstr "" ! #: cp/parser.c:6030 #, gcc-internal-format msgid "function template-id %qD in nested-name-specifier" msgstr "" ! #: cp/parser.c:6038 #, gcc-internal-format msgid "variable template-id %qD in nested-name-specifier" msgstr "" ! #: cp/parser.c:6142 cp/typeck.c:2625 cp/typeck.c:2628 cp/typeck.c:2648 #, fuzzy, gcc-internal-format msgid "%qD is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:6220 #, gcc-internal-format msgid "expected nested-name-specifier" msgstr "" ! #: cp/parser.c:6421 cp/parser.c:8656 #, gcc-internal-format msgid "types may not be defined in casts" msgstr "" ! #: cp/parser.c:6505 #, gcc-internal-format msgid "types may not be defined in a % expression" msgstr "" ! #: cp/parser.c:6563 #, gcc-internal-format msgid "%<_Cilk_spawn%> must be followed by an expression" msgstr "" ! #: cp/parser.c:6647 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_addressof%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: cp/parser.c:6659 cp/pt.c:17319 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_launder%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: cp/parser.c:6751 #, fuzzy, gcc-internal-format msgid "ISO C++ forbids compound-literals" msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)" ! #: cp/parser.c:6810 #, gcc-internal-format msgid "two consecutive %<[%> shall only introduce an attribute" msgstr "" ! #: cp/parser.c:7210 #, gcc-internal-format msgid "braced list index is not allowed with array notation" msgstr "" ! #: cp/parser.c:7420 cp/typeck.c:2513 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "invalid use of %qD" msgstr "нерÑчаіÑнае выкарыÑтаньне `%D'" ! #: cp/parser.c:7429 #, gcc-internal-format msgid "%<%D::%D%> is not a class member" msgstr "" ! #: cp/parser.c:7727 #, gcc-internal-format msgid "non-scalar type" msgstr "" ! #: cp/parser.c:7826 #, fuzzy, gcc-internal-format msgid "ISO C++ does not allow % with a non-type" msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)" ! #: cp/parser.c:7911 #, gcc-internal-format msgid "types may not be defined in % expressions" msgstr "" ! #: cp/parser.c:8189 #, gcc-internal-format msgid "types may not be defined in a new-expression" msgstr "" ! #: cp/parser.c:8205 #, gcc-internal-format msgid "array bound forbidden after parenthesized type-id" msgstr "" ! #: cp/parser.c:8207 #, gcc-internal-format msgid "try removing the parentheses around the type-id" msgstr "" ! #: cp/parser.c:8239 #, gcc-internal-format msgid "initialization of new-expression for type % requires exactly one element" msgstr "" ! #: cp/parser.c:8287 #, gcc-internal-format msgid "expected expression-list or type-id" msgstr "" ! #: cp/parser.c:8316 #, gcc-internal-format msgid "types may not be defined in a new-type-id" msgstr "" ! #: cp/parser.c:8444 #, gcc-internal-format msgid "expression in new-declarator must have integral or enumeration type" msgstr "" ! #: cp/parser.c:8752 #, gcc-internal-format msgid "use of old-style cast" msgstr "" ! #: cp/parser.c:8899 #, gcc-internal-format msgid "%<>>%> operator is treated as two right angle brackets in C++11" msgstr "" ! #: cp/parser.c:8902 #, gcc-internal-format msgid "suggest parentheses around %<>>%> expression" msgstr "" ! #: cp/parser.c:9098 #, gcc-internal-format msgid "ISO C++ does not allow ?: with omitted middle operand" msgstr "" ! #: cp/parser.c:9813 #, gcc-internal-format msgid "lambda-expression in unevaluated context" msgstr "" ! #: cp/parser.c:9822 #, gcc-internal-format msgid "lambda-expression in template-argument" msgstr "" ! #: cp/parser.c:9975 #, gcc-internal-format msgid "expected end of capture-list" msgstr "" ! #: cp/parser.c:9989 #, gcc-internal-format msgid "explicit by-copy capture of % redundant with by-copy capture default" msgstr "" ! #: cp/parser.c:10006 #, gcc-internal-format msgid "%<*this%> capture only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:10051 #, gcc-internal-format msgid "lambda capture initializers only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:10058 #, gcc-internal-format msgid "empty initializer for lambda init-capture" msgstr "" ! #: cp/parser.c:10081 #, gcc-internal-format msgid "capture of non-variable %qD " msgstr "" ! #: cp/parser.c:10084 cp/parser.c:10094 cp/semantics.c:3371 cp/semantics.c:3383 #, fuzzy, gcc-internal-format msgid "%q#D declared here" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/parser.c:10090 #, gcc-internal-format msgid "capture of variable %qD with non-automatic storage duration" msgstr "" ! #: cp/parser.c:10128 #, gcc-internal-format msgid "explicit by-copy capture of %qD redundant with by-copy capture default" msgstr "" ! #: cp/parser.c:10133 #, gcc-internal-format msgid "explicit by-reference capture of %qD redundant with by-reference capture default" msgstr "" ! #: cp/parser.c:10182 #, gcc-internal-format msgid "lambda templates are only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:10186 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C++ does not support lambda templates" msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: cp/parser.c:10216 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "default argument specified for lambda parameter" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: cp/parser.c:10234 #, fuzzy, gcc-internal-format msgid "duplicate %" msgstr "паўтарÑнне \"%s\"" ! #: cp/parser.c:10282 #, gcc-internal-format msgid "% lambda only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:10734 cp/parser.c:10915 #, gcc-internal-format msgid "attributes at the beginning of statement are ignored" msgstr "" ! #: cp/parser.c:10762 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected labeled-statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: cp/parser.c:10808 #, gcc-internal-format msgid "case label %qE not within a switch statement" msgstr "" ! #: cp/parser.c:10922 #, gcc-internal-format msgid "need % before %qE because %qT is a dependent scope" msgstr "" ! #: cp/parser.c:10931 #, gcc-internal-format msgid "%<%T::%D%> names the constructor, not the type" msgstr "" ! #: cp/parser.c:10978 #, fuzzy, gcc-internal-format msgid "compound-statement in constexpr function" msgstr "вельмі шмат аргументаў у функцыі" ! #: cp/parser.c:11105 #, gcc-internal-format msgid "% only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:11131 #, gcc-internal-format msgid "init-statement in selection statements only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:11301 cp/parser.c:27869 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected selection-statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: cp/parser.c:11334 #, gcc-internal-format msgid "types may not be defined in conditions" msgstr "" ! #: cp/parser.c:11757 #, gcc-internal-format msgid "range-based % expression of type %qT has incomplete type" msgstr "" ! #: cp/parser.c:11795 #, gcc-internal-format msgid "range-based % expression of type %qT has an % member but not a %" msgstr "" ! #: cp/parser.c:11801 #, gcc-internal-format msgid "range-based % expression of type %qT has a % member but not an %" msgstr "" ! #: cp/parser.c:11853 #, gcc-internal-format msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" msgstr "" ! #: cp/parser.c:11988 cp/parser.c:27872 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected iteration-statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: cp/parser.c:12036 #, gcc-internal-format msgid "range-based % loops only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:12110 #, gcc-internal-format msgid "break statement used with Cilk Plus for loop" msgstr "" ! #: cp/parser.c:12170 #, gcc-internal-format msgid "% in % function" msgstr "" #. Issue a warning about this use of a GNU extension. ! #: cp/parser.c:12178 #, gcc-internal-format msgid "ISO C++ forbids computed gotos" msgstr "" ! #: cp/parser.c:12191 cp/parser.c:27875 #, gcc-internal-format msgid "expected jump-statement" msgstr "" ! #: cp/parser.c:12348 cp/parser.c:23115 #, gcc-internal-format msgid "extra %<;%>" msgstr "" ! #: cp/parser.c:12591 #, gcc-internal-format msgid "%<__label__%> not at the beginning of a block" msgstr "" ! #: cp/parser.c:12805 #, gcc-internal-format msgid "non-variable %qD in declaration with more than one declarator with placeholder type" msgstr "" ! #: cp/parser.c:12825 #, gcc-internal-format msgid "inconsistent deduction for %qT: %qT and then %qT" msgstr "" ! #: cp/parser.c:12846 #, gcc-internal-format msgid "mixing declarations and function-definitions is forbidden" msgstr "" ! #: cp/parser.c:12870 #, gcc-internal-format msgid "types may not be defined in a for-range-declaration" msgstr "" ! #: cp/parser.c:12925 #, gcc-internal-format msgid "initializer in range-based % loop" msgstr "" ! #: cp/parser.c:12928 #, fuzzy, gcc-internal-format #| msgid "multiple declarations `%T' and `%T'" msgid "multiple declarations in range-based % loop" msgstr "неаднолькавае абвÑшчÑньне `%T' Ñ– `%T'" ! #: cp/parser.c:12979 #, gcc-internal-format msgid "decomposition declaration only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:13028 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "empty decomposition declaration" msgstr "пуÑтое абвÑшчÑньне" ! #: cp/parser.c:13201 #, gcc-internal-format msgid "% used outside of class" msgstr "" #. Complain about `auto' as a storage specifier, if #. we're complaining about C++0x compatibility. ! #: cp/parser.c:13265 #, gcc-internal-format msgid "% changes meaning in C++11; please remove it" msgstr "" ! #: cp/parser.c:13301 #, gcc-internal-format msgid "decl-specifier invalid in condition" msgstr "" ! #: cp/parser.c:13307 #, fuzzy, gcc-internal-format msgid "%qD invalid in lambda" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: cp/parser.c:13400 #, fuzzy, gcc-internal-format msgid "class definition may not be declared a friend" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/parser.c:13470 cp/parser.c:23522 #, gcc-internal-format msgid "templates may not be %" msgstr "" ! #: cp/parser.c:13510 #, fuzzy, gcc-internal-format msgid "invalid linkage-specification" msgstr "ÐерÑчаіÑÐ½Ð°Ñ ÑпецыфікацыÑ! Памылка Ñž cc." ! #: cp/parser.c:13597 #, gcc-internal-format msgid "static_assert without a message only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:13791 #, gcc-internal-format msgid "types may not be defined in % expressions" msgstr "" ! #: cp/parser.c:13934 #, gcc-internal-format msgid "types may not be defined in a conversion-type-id" msgstr "" ! #: cp/parser.c:13961 #, gcc-internal-format msgid "invalid use of % in conversion operator" msgstr "" ! #: cp/parser.c:13965 #, gcc-internal-format msgid "use of % in member template conversion operator can never be deduced" msgstr "" ! #: cp/parser.c:14054 #, gcc-internal-format msgid "only constructors take member initializers" msgstr "" ! #: cp/parser.c:14076 #, fuzzy, gcc-internal-format msgid "cannot expand initializer for member %<%D%>" msgstr "прапушчан ініцыÑлізатар" ! #: cp/parser.c:14088 #, gcc-internal-format msgid "mem-initializer for %qD follows constructor delegation" msgstr "" ! #: cp/parser.c:14100 #, gcc-internal-format msgid "constructor delegation follows mem-initializer for %qD" msgstr "" ! #: cp/parser.c:14152 #, gcc-internal-format msgid "anachronistic old-style base class initializer" msgstr "" ! #: cp/parser.c:14222 #, gcc-internal-format msgid "keyword % not allowed in this context (a qualified member initializer is implicitly a type)" msgstr "" ! #: cp/parser.c:14583 #, gcc-internal-format msgid "unexpected keyword; remove space between quotes and suffix identifier" msgstr "" ! #: cp/parser.c:14589 #, gcc-internal-format msgid "expected suffix identifier" msgstr "" ! #: cp/parser.c:14598 #, gcc-internal-format msgid "expected empty string after % keyword" msgstr "" ! #: cp/parser.c:14604 #, gcc-internal-format msgid "invalid encoding prefix in literal operator" msgstr "" ! #: cp/parser.c:14627 #, fuzzy, gcc-internal-format #| msgid "unregistered operator %s" msgid "expected operator" msgstr "нераÑпазнаны аператар %s" #. Warn that we do not support `export'. ! #: cp/parser.c:14672 #, gcc-internal-format msgid "keyword % not implemented, and will be ignored" msgstr "" ! #: cp/parser.c:14842 #, fuzzy, gcc-internal-format msgid "invalid constrained type parameter" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:14850 #, fuzzy, gcc-internal-format msgid "cv-qualified type parameter" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:14935 #, gcc-internal-format msgid "variadic constraint introduced without %<...%>" msgstr "" ! #: cp/parser.c:14999 #, fuzzy, gcc-internal-format msgid "invalid use of % in default template argument" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:15234 cp/parser.c:15320 cp/parser.c:21348 #, fuzzy, gcc-internal-format msgid "template parameter pack %qD cannot have a default argument" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/parser.c:15238 cp/parser.c:15324 #, fuzzy, gcc-internal-format msgid "template parameter packs cannot have default arguments" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/parser.c:15390 #, gcc-internal-format msgid "expected template-id" msgstr "" ! #: cp/parser.c:15450 #, gcc-internal-format msgid "%<<::%> cannot begin a template-argument list" msgstr "" ! #: cp/parser.c:15454 #, gcc-internal-format msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>" msgstr "" ! #: cp/parser.c:15458 #, gcc-internal-format msgid "(if you use %<-fpermissive%> or %<-std=c++11%>, or %<-std=gnu++11%> G++ will accept your code)" msgstr "" ! #: cp/parser.c:15565 #, gcc-internal-format msgid "parse error in template argument list" msgstr "" #. The name does not name a template. ! #: cp/parser.c:15634 cp/parser.c:15761 cp/parser.c:15976 #, gcc-internal-format msgid "expected template-name" msgstr "" #. Explain what went wrong. ! #: cp/parser.c:15680 #, gcc-internal-format msgid "non-template %qD used as template" msgstr "" ! #: cp/parser.c:15682 #, gcc-internal-format msgid "use %<%T::template %D%> to indicate that it is a template" msgstr "" ! #: cp/parser.c:15828 #, gcc-internal-format msgid "expected parameter pack before %<...%>" msgstr "" ! #: cp/parser.c:15937 cp/parser.c:15955 cp/parser.c:16122 #, gcc-internal-format msgid "expected template-argument" msgstr "" ! #: cp/parser.c:16097 #, fuzzy, gcc-internal-format msgid "invalid non-type template argument" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:16224 #, gcc-internal-format msgid "explicit instantiation shall not use % specifier" msgstr "" ! #: cp/parser.c:16228 #, gcc-internal-format msgid "explicit instantiation shall not use % specifier" msgstr "" ! #: cp/parser.c:16287 #, gcc-internal-format msgid "template specialization with C linkage" msgstr "" ! #: cp/parser.c:16507 #, gcc-internal-format msgid "expected type specifier" msgstr "" ! #: cp/parser.c:16691 #, gcc-internal-format msgid "use of % in lambda parameter declaration only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:16697 #, gcc-internal-format msgid "use of % in parameter declaration only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:16702 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids label declarations" msgid "ISO C++ forbids use of % in parameter declaration" msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)" ! #: cp/parser.c:16847 #, gcc-internal-format msgid "expected template-id for type" msgstr "" ! #: cp/parser.c:16916 #, gcc-internal-format msgid "expected type-name" msgstr "" ! #: cp/parser.c:17265 #, gcc-internal-format msgid "elaborated-type-specifier for a scoped enum must not use the %<%D%> keyword" msgstr "" ! #: cp/parser.c:17488 #, gcc-internal-format msgid "declaration %qD does not declare anything" msgstr "" ! #: cp/parser.c:17575 #, gcc-internal-format msgid "attributes ignored on uninstantiated type" msgstr "" ! #: cp/parser.c:17579 #, gcc-internal-format msgid "attributes ignored on template instantiation" msgstr "" ! #: cp/parser.c:17584 #, gcc-internal-format msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration" msgstr "" ! #: cp/parser.c:17718 #, fuzzy, gcc-internal-format msgid "%qD is an enumeration template" msgstr "\"%s\" звычайна функцыÑ" ! #: cp/parser.c:17729 #, gcc-internal-format msgid "%qD does not name an enumeration in %qT" msgstr "" ! #: cp/parser.c:17744 #, gcc-internal-format msgid "unnamed scoped enum is not allowed" msgstr "" ! #: cp/parser.c:17799 #, gcc-internal-format msgid "expected %<;%> or %<{%>" msgstr "" ! #: cp/parser.c:17848 #, gcc-internal-format msgid "cannot add an enumerator list to a template instantiation" msgstr "" ! #: cp/parser.c:17862 #, gcc-internal-format msgid "nested name specifier %qT for enum declaration does not name a class or namespace" msgstr "" ! #: cp/parser.c:17874 cp/parser.c:22605 #, gcc-internal-format msgid "declaration of %qD in namespace %qD which does not enclose %qD" msgstr "" ! #: cp/parser.c:17879 cp/parser.c:22610 #, gcc-internal-format msgid "declaration of %qD in %qD which does not enclose %qD" msgstr "" ! #: cp/parser.c:17891 cp/parser.c:22624 #, gcc-internal-format msgid "extra qualification not allowed" msgstr "" ! #: cp/parser.c:17914 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "multiple definition of %q#T" msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'" ! #: cp/parser.c:17927 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids an empty source file" msgid "ISO C++ forbids empty unnamed enum" msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл" ! #: cp/parser.c:17947 #, gcc-internal-format msgid "opaque-enum-specifier without name" msgstr "" ! #: cp/parser.c:17950 #, gcc-internal-format msgid "opaque-enum-specifier must use a simple identifier" msgstr "" ! #: cp/parser.c:18128 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%qD is not a namespace-name" msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ," ! #: cp/parser.c:18129 #, gcc-internal-format msgid "expected namespace-name" msgstr "" ! #: cp/parser.c:18207 #, gcc-internal-format msgid "a nested namespace definition cannot have attributes" msgstr "" ! #: cp/parser.c:18210 #, gcc-internal-format msgid "nested namespace definitions only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:18213 #, gcc-internal-format msgid "a nested namespace definition cannot be inline" msgstr "" ! #: cp/parser.c:18221 #, gcc-internal-format msgid "nested identifier required" msgstr "" ! #: cp/parser.c:18249 #, gcc-internal-format msgid "namespace %qD entered" msgstr "" ! #: cp/parser.c:18302 #, gcc-internal-format msgid "% definition is not allowed here" msgstr "" ! #: cp/parser.c:18453 #, gcc-internal-format msgid "pack expansion in using-declaration only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:18468 #, fuzzy, gcc-internal-format msgid "a template-id may not appear in a using-declaration" msgstr "\"%s\" - гÑта не пачатак дÑкларацыі" ! #: cp/parser.c:18515 #, gcc-internal-format msgid "comma-separated list in using-declaration only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:18525 #, gcc-internal-format msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the % keyword" msgstr "" ! #: cp/parser.c:18590 #, gcc-internal-format msgid "types may not be defined in alias template declarations" msgstr "" ! #: cp/parser.c:18743 #, gcc-internal-format msgid "% in % function" msgstr "" ! #: cp/parser.c:19130 #, fuzzy, gcc-internal-format msgid "a function-definition is not allowed here" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: cp/parser.c:19141 #, gcc-internal-format msgid "an asm-specification is not allowed on a function-definition" msgstr "" ! #: cp/parser.c:19145 #, fuzzy, gcc-internal-format msgid "attributes are not allowed on a function-definition" msgstr "\"%s\" - гÑта не пачатак дÑкларацыі" ! #: cp/parser.c:19196 #, gcc-internal-format msgid "expected constructor, destructor, or type conversion" msgstr "" #. Anything else is an error. ! #: cp/parser.c:19235 cp/parser.c:21539 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "expected initializer" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/parser.c:19316 #, fuzzy, gcc-internal-format msgid "initializer provided for function" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: cp/parser.c:19350 #, gcc-internal-format msgid "attributes after parenthesized initializer ignored" msgstr "" ! #: cp/parser.c:19355 #, gcc-internal-format msgid "non-function %qD declared as implicit template" msgstr "" ! #: cp/parser.c:19804 #, fuzzy, gcc-internal-format msgid "array bound is not an integer constant" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:19930 #, gcc-internal-format msgid "cannot define member of dependent typedef %qT" msgstr "" ! #: cp/parser.c:19934 #, fuzzy, gcc-internal-format msgid "%<%T::%E%> is not a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:19962 #, fuzzy, gcc-internal-format msgid "invalid use of constructor as a template" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:19964 #, gcc-internal-format msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name" msgstr "" --- 43235,44459 ---- msgid "(perhaps a semicolon is missing after the definition of %qT)" msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\"" ! #: cp/parser.c:2993 #, fuzzy, gcc-internal-format msgid "%qE is not a class template" msgstr "\"%s\" звычайна функцыÑ" ! #: cp/parser.c:2995 #, fuzzy, gcc-internal-format msgid "%qE is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:2998 #, fuzzy, gcc-internal-format msgid "invalid template-id" msgstr "ÐерÑчаіÑны выбар %s" ! #: cp/parser.c:3032 #, gcc-internal-format msgid "ISO C++ forbids using a floating-point literal in a constant-expression" msgstr "" ! #: cp/parser.c:3036 cp/pt.c:16828 #, gcc-internal-format msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression" msgstr "" ! #: cp/parser.c:3041 #, fuzzy, gcc-internal-format msgid "% operator cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3045 #, gcc-internal-format msgid "non-constant compound literals cannot appear in a constant-expression" msgstr "" ! #: cp/parser.c:3049 #, fuzzy, gcc-internal-format msgid "a function call cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3053 #, fuzzy, gcc-internal-format msgid "an increment cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3057 #, gcc-internal-format msgid "an decrement cannot appear in a constant-expression" msgstr "" ! #: cp/parser.c:3061 #, fuzzy, gcc-internal-format msgid "an array reference cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3065 #, fuzzy, gcc-internal-format msgid "the address of a label cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3069 #, fuzzy, gcc-internal-format msgid "calls to overloaded operators cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3073 #, fuzzy, gcc-internal-format msgid "an assignment cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3076 #, fuzzy, gcc-internal-format msgid "a comma operator cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3080 #, fuzzy, gcc-internal-format msgid "a call to a constructor cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3084 #, fuzzy, gcc-internal-format msgid "a transaction expression cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3130 #, fuzzy, gcc-internal-format msgid "%qs cannot appear in a constant-expression" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:3166 #, gcc-internal-format msgid "class template argument deduction is only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:3171 #, fuzzy, gcc-internal-format #| msgid "invalid use of `restrict'" msgid "invalid use of destructor %qD as a type" msgstr "нÑвернае выкарыÑтанне \"restict\"" #. Something like 'unsigned A a;' ! #: cp/parser.c:3174 #, gcc-internal-format msgid "invalid combination of multiple type-specifiers" msgstr "" ! #: cp/parser.c:3186 #, gcc-internal-format msgid "%qE does not name a type; did you mean %qs?" msgstr "" ! #: cp/parser.c:3190 #, fuzzy, gcc-internal-format msgid "%qE does not name a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:3199 #, gcc-internal-format msgid "C++11 % only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:3202 #, gcc-internal-format msgid "C++11 % only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:3207 #, gcc-internal-format msgid "C++11 % only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:3210 #, gcc-internal-format msgid "% only available with -fconcepts" msgstr "" ! #: cp/parser.c:3236 #, gcc-internal-format msgid "(perhaps % was intended)" msgstr "" ! #: cp/parser.c:3254 #, fuzzy, gcc-internal-format msgid "%qE in namespace %qE does not name a template type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:3258 #, gcc-internal-format msgid "%qE in namespace %qE does not name a type" msgstr "" #. A::A() ! #: cp/parser.c:3267 #, gcc-internal-format msgid "%<%T::%E%> names the constructor, not the type" msgstr "" ! #: cp/parser.c:3270 #, gcc-internal-format msgid "and %qT has no template constructors" msgstr "" ! #: cp/parser.c:3275 #, gcc-internal-format msgid "need % before %<%T::%E%> because %qT is a dependent scope" msgstr "" ! #: cp/parser.c:3285 #, fuzzy, gcc-internal-format msgid "%qE in %q#T does not name a template type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:3289 #, gcc-internal-format msgid "%qE in %q#T does not name a type" msgstr "" ! #: cp/parser.c:3892 #, gcc-internal-format msgid "expected string-literal" msgstr "" ! #: cp/parser.c:3957 #, gcc-internal-format msgid "inconsistent user-defined literal suffixes %qD and %qD in string literal" msgstr "" ! #: cp/parser.c:4011 #, gcc-internal-format msgid "a wide string is invalid in this context" msgstr "" ! #: cp/parser.c:4126 #, gcc-internal-format msgid "unable to find character literal operator %qD with %qT argument" msgstr "" ! #: cp/parser.c:4227 #, gcc-internal-format msgid "integer literal exceeds range of %qT type" msgstr "" ! #: cp/parser.c:4234 #, gcc-internal-format msgid "floating literal exceeds range of %qT type" msgstr "" ! #: cp/parser.c:4238 #, gcc-internal-format msgid "floating literal truncated to zero" msgstr "" ! #: cp/parser.c:4278 #, gcc-internal-format msgid "unable to find numeric literal operator %qD" msgstr "" ! #: cp/parser.c:4280 #, gcc-internal-format msgid "use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes" msgstr "" ! #: cp/parser.c:4332 #, gcc-internal-format msgid "unable to find string literal operator %qD with %qT, %qT arguments" msgstr "" ! #: cp/parser.c:4392 cp/parser.c:12677 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "expected declaration" msgstr "пуÑтое абвÑшчÑньне" ! #: cp/parser.c:4654 cp/parser.c:4669 #, fuzzy, gcc-internal-format msgid "expected binary operator" msgstr "прапушчан ініцыÑлізатар" ! #: cp/parser.c:4675 #, gcc-internal-format msgid "expected ..." msgstr "" ! #: cp/parser.c:4687 #, gcc-internal-format msgid "binary expression in operand of fold-expression" msgstr "" ! #: cp/parser.c:4690 #, gcc-internal-format msgid "conditional expression in operand of fold-expression" msgstr "" ! #: cp/parser.c:4698 #, gcc-internal-format msgid "mismatched operator in fold-expression" msgstr "" ! #: cp/parser.c:4802 #, fuzzy, gcc-internal-format #| msgid "-pipe is not supported" msgid "fixed-point types not supported in C++" msgstr "-pipe не падтрымліваецца" ! #: cp/parser.c:4883 #, gcc-internal-format msgid "ISO C++ forbids braced-groups within expressions" msgstr "" ! #: cp/parser.c:4895 #, gcc-internal-format msgid "statement-expressions are not allowed outside functions nor in template-argument lists" msgstr "" ! #: cp/parser.c:4934 #, gcc-internal-format msgid "fold-expressions only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:4992 cp/parser.c:5166 cp/parser.c:5344 cp/semantics.c:3543 #, gcc-internal-format msgid "expected primary-expression" msgstr "" ! #: cp/parser.c:5022 #, fuzzy, gcc-internal-format msgid "% may not be used in this context" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/parser.c:5160 #, gcc-internal-format msgid "a template declaration cannot appear at block scope" msgstr "" ! #: cp/parser.c:5319 #, gcc-internal-format msgid "local variable %qD may not appear in this context" msgstr "" ! #: cp/parser.c:5501 #, gcc-internal-format msgid "expected id-expression" msgstr "" ! #: cp/parser.c:5633 #, gcc-internal-format msgid "scope %qT before %<~%> is not a class-name" msgstr "" ! #: cp/parser.c:5662 cp/parser.c:7680 #, gcc-internal-format msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:5773 #, gcc-internal-format msgid "declaration of %<~%T%> as member of %qT" msgstr "" ! #: cp/parser.c:5788 #, gcc-internal-format msgid "typedef-name %qD used as destructor declarator" msgstr "" ! #: cp/parser.c:5824 #, gcc-internal-format msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" msgstr "" ! #: cp/parser.c:5835 cp/parser.c:19907 #, gcc-internal-format msgid "expected unqualified-id" msgstr "" ! #: cp/parser.c:5942 #, gcc-internal-format msgid "found %<:%> in nested-name-specifier, expected %<::%>" msgstr "" ! #: cp/parser.c:6009 #, gcc-internal-format msgid "decltype evaluates to %qT, which is not a class or enumeration type" msgstr "" ! #: cp/parser.c:6035 #, gcc-internal-format msgid "function template-id %qD in nested-name-specifier" msgstr "" ! #: cp/parser.c:6043 #, gcc-internal-format msgid "variable template-id %qD in nested-name-specifier" msgstr "" ! #: cp/parser.c:6147 cp/typeck.c:2625 cp/typeck.c:2628 cp/typeck.c:2648 #, fuzzy, gcc-internal-format msgid "%qD is not a template" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:6225 #, gcc-internal-format msgid "expected nested-name-specifier" msgstr "" ! #: cp/parser.c:6426 cp/parser.c:8661 #, gcc-internal-format msgid "types may not be defined in casts" msgstr "" ! #: cp/parser.c:6510 #, gcc-internal-format msgid "types may not be defined in a % expression" msgstr "" ! #: cp/parser.c:6568 #, gcc-internal-format msgid "%<_Cilk_spawn%> must be followed by an expression" msgstr "" ! #: cp/parser.c:6652 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_addressof%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: cp/parser.c:6664 cp/pt.c:17401 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "wrong number of arguments to %<__builtin_launder%>" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: cp/parser.c:6756 #, fuzzy, gcc-internal-format msgid "ISO C++ forbids compound-literals" msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)" ! #: cp/parser.c:6815 #, gcc-internal-format msgid "two consecutive %<[%> shall only introduce an attribute" msgstr "" ! #: cp/parser.c:7215 #, gcc-internal-format msgid "braced list index is not allowed with array notation" msgstr "" ! #: cp/parser.c:7425 cp/typeck.c:2513 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%D'" msgid "invalid use of %qD" msgstr "нерÑчаіÑнае выкарыÑтаньне `%D'" ! #: cp/parser.c:7434 #, gcc-internal-format msgid "%<%D::%D%> is not a class member" msgstr "" ! #: cp/parser.c:7732 #, gcc-internal-format msgid "non-scalar type" msgstr "" ! #: cp/parser.c:7831 #, fuzzy, gcc-internal-format msgid "ISO C++ does not allow % with a non-type" msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)" ! #: cp/parser.c:7916 #, gcc-internal-format msgid "types may not be defined in % expressions" msgstr "" ! #: cp/parser.c:8194 #, gcc-internal-format msgid "types may not be defined in a new-expression" msgstr "" ! #: cp/parser.c:8210 #, gcc-internal-format msgid "array bound forbidden after parenthesized type-id" msgstr "" ! #: cp/parser.c:8212 #, gcc-internal-format msgid "try removing the parentheses around the type-id" msgstr "" ! #: cp/parser.c:8244 #, gcc-internal-format msgid "initialization of new-expression for type % requires exactly one element" msgstr "" ! #: cp/parser.c:8292 #, gcc-internal-format msgid "expected expression-list or type-id" msgstr "" ! #: cp/parser.c:8321 #, gcc-internal-format msgid "types may not be defined in a new-type-id" msgstr "" ! #: cp/parser.c:8449 #, gcc-internal-format msgid "expression in new-declarator must have integral or enumeration type" msgstr "" ! #: cp/parser.c:8757 #, gcc-internal-format msgid "use of old-style cast" msgstr "" ! #: cp/parser.c:8904 #, gcc-internal-format msgid "%<>>%> operator is treated as two right angle brackets in C++11" msgstr "" ! #: cp/parser.c:8907 #, gcc-internal-format msgid "suggest parentheses around %<>>%> expression" msgstr "" ! #: cp/parser.c:9103 #, gcc-internal-format msgid "ISO C++ does not allow ?: with omitted middle operand" msgstr "" ! #: cp/parser.c:9822 #, gcc-internal-format msgid "lambda-expression in unevaluated context" msgstr "" ! #: cp/parser.c:9831 #, gcc-internal-format msgid "lambda-expression in template-argument" msgstr "" ! #: cp/parser.c:9984 #, gcc-internal-format msgid "expected end of capture-list" msgstr "" ! #: cp/parser.c:9998 #, gcc-internal-format msgid "explicit by-copy capture of % redundant with by-copy capture default" msgstr "" ! #: cp/parser.c:10015 #, gcc-internal-format msgid "%<*this%> capture only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:10060 #, gcc-internal-format msgid "lambda capture initializers only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:10067 #, gcc-internal-format msgid "empty initializer for lambda init-capture" msgstr "" ! #: cp/parser.c:10090 #, gcc-internal-format msgid "capture of non-variable %qD " msgstr "" ! #: cp/parser.c:10093 cp/parser.c:10103 cp/semantics.c:3384 cp/semantics.c:3396 #, fuzzy, gcc-internal-format msgid "%q#D declared here" msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)" ! #: cp/parser.c:10099 #, gcc-internal-format msgid "capture of variable %qD with non-automatic storage duration" msgstr "" ! #: cp/parser.c:10137 #, gcc-internal-format msgid "explicit by-copy capture of %qD redundant with by-copy capture default" msgstr "" ! #: cp/parser.c:10142 #, gcc-internal-format msgid "explicit by-reference capture of %qD redundant with by-reference capture default" msgstr "" ! #: cp/parser.c:10191 #, gcc-internal-format msgid "lambda templates are only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:10195 #, fuzzy, gcc-internal-format #| msgid "ISO C89 does not support complex types" msgid "ISO C++ does not support lambda templates" msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹" ! #: cp/parser.c:10225 #, fuzzy, gcc-internal-format #| msgid "wrong number of arguments specified for `%s' attribute" msgid "default argument specified for lambda parameter" msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'" ! #: cp/parser.c:10243 #, fuzzy, gcc-internal-format msgid "duplicate %" msgstr "паўтарÑнне \"%s\"" ! #: cp/parser.c:10291 #, gcc-internal-format msgid "% lambda only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:10743 cp/parser.c:10924 #, gcc-internal-format msgid "attributes at the beginning of statement are ignored" msgstr "" ! #: cp/parser.c:10771 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected labeled-statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: cp/parser.c:10817 #, gcc-internal-format msgid "case label %qE not within a switch statement" msgstr "" ! #: cp/parser.c:10931 #, gcc-internal-format msgid "need % before %qE because %qT is a dependent scope" msgstr "" ! #: cp/parser.c:10940 #, gcc-internal-format msgid "%<%T::%D%> names the constructor, not the type" msgstr "" ! #: cp/parser.c:10987 #, fuzzy, gcc-internal-format msgid "compound-statement in constexpr function" msgstr "вельмі шмат аргументаў у функцыі" ! #: cp/parser.c:11114 #, gcc-internal-format msgid "% only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:11140 #, gcc-internal-format msgid "init-statement in selection statements only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:11310 cp/parser.c:27892 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected selection-statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: cp/parser.c:11343 #, gcc-internal-format msgid "types may not be defined in conditions" msgstr "" ! #: cp/parser.c:11766 #, gcc-internal-format msgid "range-based % expression of type %qT has incomplete type" msgstr "" ! #: cp/parser.c:11804 #, gcc-internal-format msgid "range-based % expression of type %qT has an % member but not a %" msgstr "" ! #: cp/parser.c:11810 #, gcc-internal-format msgid "range-based % expression of type %qT has a % member but not an %" msgstr "" ! #: cp/parser.c:11862 #, gcc-internal-format msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" msgstr "" ! #: cp/parser.c:11997 cp/parser.c:27895 #, fuzzy, gcc-internal-format #| msgid "empty body in an else-statement" msgid "expected iteration-statement" msgstr "пуÑтое цела Ñž else-выражÑнні" ! #: cp/parser.c:12045 #, gcc-internal-format msgid "range-based % loops only available with -std=c++11 or -std=gnu++11" msgstr "" ! #: cp/parser.c:12119 #, gcc-internal-format msgid "break statement used with Cilk Plus for loop" msgstr "" ! #: cp/parser.c:12179 #, gcc-internal-format msgid "% in % function" msgstr "" #. Issue a warning about this use of a GNU extension. ! #: cp/parser.c:12187 #, gcc-internal-format msgid "ISO C++ forbids computed gotos" msgstr "" ! #: cp/parser.c:12200 cp/parser.c:27898 #, gcc-internal-format msgid "expected jump-statement" msgstr "" ! #: cp/parser.c:12357 cp/parser.c:23138 #, gcc-internal-format msgid "extra %<;%>" msgstr "" ! #: cp/parser.c:12600 #, gcc-internal-format msgid "%<__label__%> not at the beginning of a block" msgstr "" ! #: cp/parser.c:12814 #, gcc-internal-format msgid "non-variable %qD in declaration with more than one declarator with placeholder type" msgstr "" ! #: cp/parser.c:12834 #, gcc-internal-format msgid "inconsistent deduction for %qT: %qT and then %qT" msgstr "" ! #: cp/parser.c:12855 #, gcc-internal-format msgid "mixing declarations and function-definitions is forbidden" msgstr "" ! #: cp/parser.c:12879 #, gcc-internal-format msgid "types may not be defined in a for-range-declaration" msgstr "" ! #: cp/parser.c:12934 #, gcc-internal-format msgid "initializer in range-based % loop" msgstr "" ! #: cp/parser.c:12937 #, fuzzy, gcc-internal-format #| msgid "multiple declarations `%T' and `%T'" msgid "multiple declarations in range-based % loop" msgstr "неаднолькавае абвÑшчÑньне `%T' Ñ– `%T'" ! #: cp/parser.c:12988 #, gcc-internal-format msgid "decomposition declaration only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:13037 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "empty decomposition declaration" msgstr "пуÑтое абвÑшчÑньне" ! #: cp/parser.c:13054 ! #, fuzzy, gcc-internal-format ! msgid "invalid initializer for structured binding declaration" ! msgstr "нерÑчаіÑны ініцыÑлізатар" ! ! #: cp/parser.c:13220 #, gcc-internal-format msgid "% used outside of class" msgstr "" #. Complain about `auto' as a storage specifier, if #. we're complaining about C++0x compatibility. ! #: cp/parser.c:13284 #, gcc-internal-format msgid "% changes meaning in C++11; please remove it" msgstr "" ! #: cp/parser.c:13320 #, gcc-internal-format msgid "decl-specifier invalid in condition" msgstr "" ! #: cp/parser.c:13326 #, fuzzy, gcc-internal-format msgid "%qD invalid in lambda" msgstr "ÐерÑчаіÑны выбар \"%s\"" ! #: cp/parser.c:13419 #, fuzzy, gcc-internal-format msgid "class definition may not be declared a friend" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/parser.c:13489 cp/parser.c:23545 #, gcc-internal-format msgid "templates may not be %" msgstr "" ! #: cp/parser.c:13529 #, fuzzy, gcc-internal-format msgid "invalid linkage-specification" msgstr "ÐерÑчаіÑÐ½Ð°Ñ ÑпецыфікацыÑ! Памылка Ñž cc." ! #: cp/parser.c:13616 #, gcc-internal-format msgid "static_assert without a message only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:13810 #, gcc-internal-format msgid "types may not be defined in % expressions" msgstr "" ! #: cp/parser.c:13953 #, gcc-internal-format msgid "types may not be defined in a conversion-type-id" msgstr "" ! #: cp/parser.c:13980 #, gcc-internal-format msgid "invalid use of % in conversion operator" msgstr "" ! #: cp/parser.c:13984 #, gcc-internal-format msgid "use of % in member template conversion operator can never be deduced" msgstr "" ! #: cp/parser.c:14073 #, gcc-internal-format msgid "only constructors take member initializers" msgstr "" ! #: cp/parser.c:14095 #, fuzzy, gcc-internal-format msgid "cannot expand initializer for member %<%D%>" msgstr "прапушчан ініцыÑлізатар" ! #: cp/parser.c:14107 #, gcc-internal-format msgid "mem-initializer for %qD follows constructor delegation" msgstr "" ! #: cp/parser.c:14119 #, gcc-internal-format msgid "constructor delegation follows mem-initializer for %qD" msgstr "" ! #: cp/parser.c:14171 #, gcc-internal-format msgid "anachronistic old-style base class initializer" msgstr "" ! #: cp/parser.c:14241 #, gcc-internal-format msgid "keyword % not allowed in this context (a qualified member initializer is implicitly a type)" msgstr "" ! #: cp/parser.c:14602 #, gcc-internal-format msgid "unexpected keyword; remove space between quotes and suffix identifier" msgstr "" ! #: cp/parser.c:14608 #, gcc-internal-format msgid "expected suffix identifier" msgstr "" ! #: cp/parser.c:14617 #, gcc-internal-format msgid "expected empty string after % keyword" msgstr "" ! #: cp/parser.c:14623 #, gcc-internal-format msgid "invalid encoding prefix in literal operator" msgstr "" ! #: cp/parser.c:14646 #, fuzzy, gcc-internal-format #| msgid "unregistered operator %s" msgid "expected operator" msgstr "нераÑпазнаны аператар %s" #. Warn that we do not support `export'. ! #: cp/parser.c:14691 #, gcc-internal-format msgid "keyword % not implemented, and will be ignored" msgstr "" ! #: cp/parser.c:14861 #, fuzzy, gcc-internal-format msgid "invalid constrained type parameter" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:14869 #, fuzzy, gcc-internal-format msgid "cv-qualified type parameter" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:14954 #, gcc-internal-format msgid "variadic constraint introduced without %<...%>" msgstr "" ! #: cp/parser.c:15018 #, fuzzy, gcc-internal-format msgid "invalid use of % in default template argument" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:15253 cp/parser.c:15339 cp/parser.c:21371 #, fuzzy, gcc-internal-format msgid "template parameter pack %qD cannot have a default argument" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/parser.c:15257 cp/parser.c:15343 #, fuzzy, gcc-internal-format msgid "template parameter packs cannot have default arguments" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/parser.c:15409 #, gcc-internal-format msgid "expected template-id" msgstr "" ! #: cp/parser.c:15469 #, gcc-internal-format msgid "%<<::%> cannot begin a template-argument list" msgstr "" ! #: cp/parser.c:15473 #, gcc-internal-format msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>" msgstr "" ! #: cp/parser.c:15477 #, gcc-internal-format msgid "(if you use %<-fpermissive%> or %<-std=c++11%>, or %<-std=gnu++11%> G++ will accept your code)" msgstr "" ! #: cp/parser.c:15584 #, gcc-internal-format msgid "parse error in template argument list" msgstr "" #. The name does not name a template. ! #: cp/parser.c:15653 cp/parser.c:15784 cp/parser.c:15999 #, gcc-internal-format msgid "expected template-name" msgstr "" #. Explain what went wrong. ! #: cp/parser.c:15699 #, gcc-internal-format msgid "non-template %qD used as template" msgstr "" ! #: cp/parser.c:15701 #, gcc-internal-format msgid "use %<%T::template %D%> to indicate that it is a template" msgstr "" ! #: cp/parser.c:15851 #, gcc-internal-format msgid "expected parameter pack before %<...%>" msgstr "" ! #: cp/parser.c:15960 cp/parser.c:15978 cp/parser.c:16145 #, gcc-internal-format msgid "expected template-argument" msgstr "" ! #: cp/parser.c:16120 #, fuzzy, gcc-internal-format msgid "invalid non-type template argument" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:16247 #, gcc-internal-format msgid "explicit instantiation shall not use % specifier" msgstr "" ! #: cp/parser.c:16251 #, gcc-internal-format msgid "explicit instantiation shall not use % specifier" msgstr "" ! #: cp/parser.c:16310 #, gcc-internal-format msgid "template specialization with C linkage" msgstr "" ! #: cp/parser.c:16530 #, gcc-internal-format msgid "expected type specifier" msgstr "" ! #: cp/parser.c:16714 #, gcc-internal-format msgid "use of % in lambda parameter declaration only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:16720 #, gcc-internal-format msgid "use of % in parameter declaration only available with -std=c++14 or -std=gnu++14" msgstr "" ! #: cp/parser.c:16725 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids label declarations" msgid "ISO C++ forbids use of % in parameter declaration" msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)" ! #: cp/parser.c:16870 #, gcc-internal-format msgid "expected template-id for type" msgstr "" ! #: cp/parser.c:16939 #, gcc-internal-format msgid "expected type-name" msgstr "" ! #: cp/parser.c:17288 #, gcc-internal-format msgid "elaborated-type-specifier for a scoped enum must not use the %<%D%> keyword" msgstr "" ! #: cp/parser.c:17511 #, gcc-internal-format msgid "declaration %qD does not declare anything" msgstr "" ! #: cp/parser.c:17598 #, gcc-internal-format msgid "attributes ignored on uninstantiated type" msgstr "" ! #: cp/parser.c:17602 #, gcc-internal-format msgid "attributes ignored on template instantiation" msgstr "" ! #: cp/parser.c:17607 #, gcc-internal-format msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration" msgstr "" ! #: cp/parser.c:17741 #, fuzzy, gcc-internal-format msgid "%qD is an enumeration template" msgstr "\"%s\" звычайна функцыÑ" ! #: cp/parser.c:17752 #, gcc-internal-format msgid "%qD does not name an enumeration in %qT" msgstr "" ! #: cp/parser.c:17767 #, gcc-internal-format msgid "unnamed scoped enum is not allowed" msgstr "" ! #: cp/parser.c:17822 #, gcc-internal-format msgid "expected %<;%> or %<{%>" msgstr "" ! #: cp/parser.c:17871 #, gcc-internal-format msgid "cannot add an enumerator list to a template instantiation" msgstr "" ! #: cp/parser.c:17885 #, gcc-internal-format msgid "nested name specifier %qT for enum declaration does not name a class or namespace" msgstr "" ! #: cp/parser.c:17897 cp/parser.c:22628 #, gcc-internal-format msgid "declaration of %qD in namespace %qD which does not enclose %qD" msgstr "" ! #: cp/parser.c:17902 cp/parser.c:22633 #, gcc-internal-format msgid "declaration of %qD in %qD which does not enclose %qD" msgstr "" ! #: cp/parser.c:17914 cp/parser.c:22647 #, gcc-internal-format msgid "extra qualification not allowed" msgstr "" ! #: cp/parser.c:17937 #, fuzzy, gcc-internal-format #| msgid "previous definition of `%#T'" msgid "multiple definition of %q#T" msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'" ! #: cp/parser.c:17950 #, fuzzy, gcc-internal-format #| msgid "ISO C forbids an empty source file" msgid "ISO C++ forbids empty unnamed enum" msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл" ! #: cp/parser.c:17970 #, gcc-internal-format msgid "opaque-enum-specifier without name" msgstr "" ! #: cp/parser.c:17973 #, gcc-internal-format msgid "opaque-enum-specifier must use a simple identifier" msgstr "" ! #: cp/parser.c:18151 #, fuzzy, gcc-internal-format #| msgid "`%D' is not a function," msgid "%qD is not a namespace-name" msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ," ! #: cp/parser.c:18152 #, gcc-internal-format msgid "expected namespace-name" msgstr "" ! #: cp/parser.c:18230 #, gcc-internal-format msgid "a nested namespace definition cannot have attributes" msgstr "" ! #: cp/parser.c:18233 #, gcc-internal-format msgid "nested namespace definitions only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:18236 #, gcc-internal-format msgid "a nested namespace definition cannot be inline" msgstr "" ! #: cp/parser.c:18244 #, gcc-internal-format msgid "nested identifier required" msgstr "" ! #: cp/parser.c:18272 #, gcc-internal-format msgid "namespace %qD entered" msgstr "" ! #: cp/parser.c:18325 #, gcc-internal-format msgid "% definition is not allowed here" msgstr "" ! #: cp/parser.c:18476 #, gcc-internal-format msgid "pack expansion in using-declaration only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:18491 #, fuzzy, gcc-internal-format msgid "a template-id may not appear in a using-declaration" msgstr "\"%s\" - гÑта не пачатак дÑкларацыі" ! #: cp/parser.c:18538 #, gcc-internal-format msgid "comma-separated list in using-declaration only available with -std=c++1z or -std=gnu++1z" msgstr "" ! #: cp/parser.c:18548 #, gcc-internal-format msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the % keyword" msgstr "" ! #: cp/parser.c:18613 #, gcc-internal-format msgid "types may not be defined in alias template declarations" msgstr "" ! #: cp/parser.c:18766 #, gcc-internal-format msgid "% in % function" msgstr "" ! #: cp/parser.c:19153 #, fuzzy, gcc-internal-format msgid "a function-definition is not allowed here" msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹" ! #: cp/parser.c:19164 #, gcc-internal-format msgid "an asm-specification is not allowed on a function-definition" msgstr "" ! #: cp/parser.c:19168 #, fuzzy, gcc-internal-format msgid "attributes are not allowed on a function-definition" msgstr "\"%s\" - гÑта не пачатак дÑкларацыі" ! #: cp/parser.c:19219 #, gcc-internal-format msgid "expected constructor, destructor, or type conversion" msgstr "" #. Anything else is an error. ! #: cp/parser.c:19258 cp/parser.c:21562 #, fuzzy, gcc-internal-format #| msgid "invalid initializer" msgid "expected initializer" msgstr "нерÑчаіÑны ініцыÑлізатар" ! #: cp/parser.c:19339 #, fuzzy, gcc-internal-format msgid "initializer provided for function" msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\"" ! #: cp/parser.c:19373 #, gcc-internal-format msgid "attributes after parenthesized initializer ignored" msgstr "" ! #: cp/parser.c:19378 #, gcc-internal-format msgid "non-function %qD declared as implicit template" msgstr "" ! #: cp/parser.c:19827 #, fuzzy, gcc-internal-format msgid "array bound is not an integer constant" msgstr "памер маÑіва \"%s\" адмоўны" ! #: cp/parser.c:19953 #, gcc-internal-format msgid "cannot define member of dependent typedef %qT" msgstr "" ! #: cp/parser.c:19957 #, fuzzy, gcc-internal-format msgid "%<%T::%E%> is not a type" msgstr "\"%s\" мае незавершаны тып" ! #: cp/parser.c:19985 #, fuzzy, gcc-internal-format msgid "invalid use of constructor as a template" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:19987 #, gcc-internal-format msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name" msgstr "" *************** msgstr "" *** 44404,44754 **** #. here because we do not have enough #. information about its original syntactic #. form. ! #: cp/parser.c:19981 #, gcc-internal-format msgid "invalid declarator" msgstr "нерÑчаіÑны абвÑшчальнік" #. But declarations with qualified-ids can't appear in a #. function. ! #: cp/parser.c:20051 #, fuzzy, gcc-internal-format #| msgid "Invalid declaration" msgid "qualified-id in declaration" msgstr "ÐерÑчаіÑнае абвÑшчÑнне" ! #: cp/parser.c:20076 #, fuzzy, gcc-internal-format #| msgid "empty declaration" msgid "expected declarator" msgstr "пуÑтое абвÑшчÑньне" ! #: cp/parser.c:20179 #, gcc-internal-format msgid "%qD is a namespace" msgstr "" ! #: cp/parser.c:20181 #, gcc-internal-format msgid "cannot form pointer to member of non-class %q#T" msgstr "" ! #: cp/parser.c:20202 #, gcc-internal-format msgid "expected ptr-operator" msgstr "" ! #: cp/parser.c:20261 #, fuzzy, gcc-internal-format #| msgid "duplicate `volatile'" msgid "duplicate cv-qualifier" msgstr "паўтарÑнне \"volatile\"" ! #: cp/parser.c:20315 #, gcc-internal-format msgid "multiple ref-qualifiers" msgstr "" ! #: cp/parser.c:20352 #, gcc-internal-format msgid "%E requires %<-fgnu-tm%>" msgstr "" ! #: cp/parser.c:20408 #, fuzzy, gcc-internal-format #| msgid "duplicate `volatile'" msgid "duplicate virt-specifier" msgstr "паўтарÑнне \"volatile\"" ! #: cp/parser.c:20679 #, fuzzy, gcc-internal-format msgid "missing template arguments after %qT" msgstr "невыкарыÑтаемы параметр \"%s\"" ! #: cp/parser.c:20685 cp/typeck2.c:493 cp/typeck2.c:532 cp/typeck2.c:1976 #, fuzzy, gcc-internal-format #| msgid "invalid use of `%T'" msgid "invalid use of %qT" msgstr "нерÑчаіÑнае выкарыÑтаньне `%T'" ! #: cp/parser.c:20706 #, gcc-internal-format msgid "types may not be defined in template arguments" msgstr "" ! #: cp/parser.c:20711 #, fuzzy, gcc-internal-format msgid "invalid use of % in template argument" msgstr "нÑвернае выкарыÑтанне \"restict\"" ! #: cp/parser.c:20799 #, gcc-internal-format msgid "expected type-specifier" msgstr "" ! #: cp/parser.c:21105 #, gcc-internal-format msgid "expected %<,%> or %<...%>" msgstr "" ! #: cp/parser.c:21180 #, gcc-internal-format msgid "types may not be defined in parameter types" msgstr "" ! #: cp/parser.c:21332 #, gcc-internal-format msgid "default arguments are only permitted for function parameters" msgstr "" ! #: cp/parser.c:21350 #, gcc-internal-format msgid "parameter pack %qD cannot have a default argument" msgstr "" ! #: cp/parser.c:21356 #, fuzzy, gcc-internal-format msgid "template parameter pack cannot have a default argument" msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі" ! #: cp/parser.c:21358 #, gcc-internal-format msgid "parameter pack cannot have a default argument" msgstr "" ! #: cp/parser.c:21745 #, gcc-internal-format msgid "ISO C++ does not allow designated initializers" msgstr "" ! #: cp/parser.c:21759 #, gcc-internal-format msgid "ISO C++ does not allow C99 designated initializers" msgstr "" ! #: cp/parser.c:21879 cp/parser.c:22005 #, gcc-internal-format msgid "expected class-name" msgstr "" ! #: cp/parser.c:22206 #, gcc-internal-format msgid "expected %<;%> after class definition" msgstr "" ! #: cp/parser.c:22209 #, gcc-internal-format msgid "expected %<;%> after struct definition" msgstr "" ! #: cp/parser.c:22212 #, gcc-internal-format msgid "expected %<;%> after union definition" msgstr "" ! #: cp/parser.c:22553 #, gcc-internal-format msgid "expected %<{%> or %<:%>" msgstr "" ! #: cp/parser.c:22564 #, fuzzy, gcc-internal-format #| msgid "cannot find file for class %s" msgid "cannot specify % for a class" msgstr "немагчыма знайÑьці файл Ð´Ð»Ñ ÐºÐ»ÑÑа %s" ! #: cp/parser.c:22572 #, gcc-internal-format msgid "global qualification of class name is invalid" msgstr "" ! #: cp/parser.c:22579 #, gcc-internal-format msgid "qualified name does not name a class" msgstr "" ! #: cp/parser.c:22591 #, fuzzy, gcc-internal-format msgid "invalid class name in declaration of %qD" msgstr "ÐерÑчаіÑнае абвÑшчÑнне" ! #: cp/parser.c:22650 #, fuzzy, gcc-internal-format msgid "an explicit specialization must be preceded by %